summaryrefslogtreecommitdiff
path: root/mk/bsd.pkg.mk
AgeCommit message (Collapse)AuthorFilesLines
2006-03-10replace-interpreter should use REPLACE_FILES.${lang} instead oftonio1-3/+3
_REPLACE_FILES.${lang}
2006-03-09Make it safe to include bsd.pkginstall.mk directly in bsd.pkg.mk, andjlam1-2/+2
drop pkginstall.mk, which did the same thing. Also, rework some of the targets so that we avoid needing to inspect *_MEMBERS variables within make -- we defer the check to the shell code invoked by the targets. All changes are internal and don't affect existing packages in a visible way.
2006-03-09Since the REPLACE_INTERPRETER is used in more and more packages, it isrillig1-4/+14
not good style to make the package author define variables from the pkgsrc-internal namespace. The variables REPLACE.* and REPLACE_FILES.* can now be used as replacements for _REPLACE.* and _REPLACE_FILES.*. Support for the old variable names will be removed after 2006Q2.
2006-03-09Reimplement the info-file handling so that we use an +INFO_FILESjlam1-2/+3
scriptlet to manage the info-file registration. The new scriptlet's template is install/info-files. Remove obsolete texinfo.mk and install/install-info. No changes to package Makefiles are necessary -- the re-implementation is internal to pkgsrc infrastructure.
2006-03-04Point MAINTAINER to pkgsrc-users@NetBSD.org in the case where nojlam1-2/+2
developer is officially maintaining the package. The rationale for changing this from "tech-pkg" to "pkgsrc-users" is that it implies that any user can try to maintain the package (by submitting patches to the mailing list). Since the folks most likely to care about the package are the folks that want to use it or are already using it, this would leverage the energy of users who aren't developers.
2006-03-02Make GNU_CONFIGURE_PREFIX the default prefix for GNU_CONFIGURE_MANDIRjoerg1-3/+4
and GNU_CONFIGURE_INFODIR. Add the latter for symmetry.
2006-02-18Added SITES.${foo} as an alias for SITES_${foo}. The latter will berillig1-3/+6
deprecated after the 2006Q1 branch.
2006-02-02If the replace-interpreter program cannot find a file, a warning isrillig1-1/+3
printed.
2006-01-21Don't write ${FOO:Mbar} == "bar", when !empty(FOO:Mbar) will suffice.jlam1-5/+5
In this case, "FOO" is "INTERACTIVE_STAGE".
2006-01-21Unquoted SUBST_MESSAGE.*, as this is no longer needed.rillig1-3/+3
2006-01-20Remove the old PLIST-handling code after bulk building has shown the newjlam1-784/+1
PLIST module works correctly.
2006-01-19Move more "patch"-related variables and targets out of bsd.pkg.mk and intojlam1-25/+7
bsd.pkg.patch.mk.
2006-01-19Move more of the "extract"-related variables and targets out of bsd.pkg.mkjlam1-34/+7
and into bsd.pkg.extract.mk.
2006-01-19* Split out the "clean" targets and variables and put them into a separatejlam1-50/+4
file pkgsrc/mk/bsd.pkg.clean.mk. * Reimplement the clean target so that we don't need to invoke a separate make process just to do clean-depends. * Reimplement clean-depends using a pipe to avoid command-line length issues.
2006-01-18Move the following targets from bsd.pkg.mk to bsd.utils.mk:jlam1-83/+1
show-depends-dirs show-all-depends-dirs show-all-depends-dirs-excl While we're here, reimplement them using the new pkg_paths and depends-depth-first.awk scripts. As a side effect, this speeds up the execution of these targets by around 5-15% depending on the complexity of the dependency graph. NOTE: This *does* change the behavior of these targets slightly because the output is now newline-separated instead of space-separated, and the order of the output lines doesn't match the original targets because the dependency graph is now walked depth-first instead of breadth first.
2006-01-18Remove unused "show-root-only" target.jlam1-9/+3
2006-01-18Create a standalone awk script, depends-depth-first.awk, that encapsulatesjlam1-1/+3
the code that performs the dependency graph traversal (in depth-first fashion). This script has a hook that allows executing a shell command line upon visiting a dependency's package directory in either prefix or postfix order, and may be used to simplify the code in bsd.pkg.mk that iterates over dependencies. This awk script requires the target "show-depends-pkgpaths", which is defined in a new Makefile pkgsrc/mk/bsd.utils.mk. This file should accumulate "utility" targets that current exist in bsd.pkg.mk, i.e., "helper" targets for various actions.
2006-01-12Initial commit of a new module that encapsulates all of the codejlam1-6/+54
for manipulating PLISTs. This module is not used by default pending more widespread testing -- currently the variable _USE_PLIST_MODULE must be defined in /etc/mk.conf to enable its use. The main features of the new PLIST module are: (1) Splits out the PLIST-handling code from bsd.pkg.mk into a separate "plist" module. (2) Splits out giant, multi-line awk scripts stored in make variables into separate awk scripts that may be joined together to post-process PLISTs. Each of these awk scripts consolidates the processing for one set of files, e.g., man pages, info pages, etc., and is more easily commented than a make variable. (3) Splits out the print-PLIST code from the regular PLIST code since they have no common pieces (print-plist.mk vs. plist.mk). (4) Completely re-implements the shared-library handling to be more efficient. Along the way, this also fixes a problem for Mac OS X users where the PLISTs incorrectly contained absolute paths. (5) Completely re-implements the info-file handling so that we can migrate from INFO_FILES definitions to just adding info/foo.info entries in the static PLISTs. (6) Adds commented-out support for automatically compressed or decompressed info page entries based on the value of MANZ. These changes will be activated after texinfo.mk has been replaced by something that is built using the more modern primitives now available in pkgsrc. (7) Move the file compression logic into a separate script "doc-compress" that compresses or decompresses files while minding symlinks. This script is now called by bsd.pkg.mk to do the "autmoatic man page handling". In the future, it will also handle the "automatic info page handling" and possible others. In general, the idea is to move stuff out of the Makefiles and into separate files where we don't need to worry about quoting rules and where each file can have a separate history of commits. This simplifies the makefile logic (especially in terms of readability) and also simplifies maintenance of the code.
2006-01-12Added the target check-interpreter to bsd.pkg.check.mk, which checksrillig1-1/+4
that the interpreter of "#!"-style scripts exists. It is disabled by default, and can be enabled by setting CHECK_INTERPRETER=yes. As for the other check-* targets, CHECK_INTERPRETER_SKIP is a list of shell globs that can be used to to skip certain files. Ok'ed by jlam.
2006-01-11Since qmail and related packages install into ${PREFIX} (and haveschmonz1-4/+2
for a while now), we no longer need to add ${QMAILDIR} in PLIST_SUBST or MESSAGE_SUBST. Noticed by jlam.
2006-01-05Revert unintended part of last commit.joerg1-3/+2
2006-01-05Adjust comment about SUBST_FILES to match reality:joerg1-2/+3
absolute file names work as well.
2006-01-04Add a wee bit of infrastructure to improve how we deprecate brokenschmonz1-1/+11
packages from branch to branch: When a package is considered broken (for whatever reason) at branch time, we'll mark it with BROKEN_IN=name-of-branch. At the next branch, we can easily determine which ones have remained broken and remove them. BROKEN_IN is visible to users iff a build fails, when it appends a warning message to the above effect. With feedback from dillo. Reviewed by jlam.
2006-01-03In the bin-install target, instead of running pkg_add for everywiz1-23/+17
BINPKG_SITES entry separately, construct an appropriate PKG_PATH and call pkg_add only once. Patch from Chapman Flack in PR 30929. Use PKGNAME_REQD when installing package dependencies. Patch from Chapman Flack in PR 30954.
2006-01-03Instead of patching the generated config.status script, patch the GNUjlam1-29/+27
configure script itself so that the generated config.status script does what we want (just exit if asked to "recheck"). This ensures the timestamp for config.status is earlier than the timestamps for the files that config.status generates (Makefile, config.h, etc.). This fixes some problems where some packages end up "rebuilding" as part of the install target, which makes the rebuilt files owned by root and makes cleaning the work directory fail.
2006-01-02Change some remaining ONLY_FOR_ARCHS to ONLY_FOR_PLATFORM and NOT_FOR_ARCH todmcmahill1-10/+10
NOT_FOR_PLATFORM that were missed when these variables were changed ages ago.
2005-12-31Don't check for PKG_FAIL_REASON when doing show-depends-dirs. This preventsrillig1-2/+2
packages that set PKG_FAIL_REASON from being excluded from the bulk build databases like .index and .dependstree.
2005-12-31Fix some quoting as per PR 30956 by Chapman Flack.wiz1-4/+4
2005-12-31If target is real-su-bin-install, set DEPENDS_TARGET to bin-install.wiz1-2/+2
From Chapman Flack in PR 30928.
2005-12-31Handle automatic dependencies in bin-install correctly.wiz1-3/+3
From Chapman Flack in PR 32422.
2005-12-29Teach the pkgsrc infrastructure to Just Know when the pkginstalljlam1-13/+2
framework should be used. This is implemented by creating a small file mk/install/pkginstall.mk that guards the implementation makefile mk/install/bsd.pkginstall.mk. This guard file just checks whether one of the pkginstall-related variables is non-empty, and if so, then the implementation file is automatically included. This completely deprecates USE_PKGINSTALL, which no longer has any affect in pkgsrc.
2005-12-05Applied all quoting fixes found by "pkglint --autofix".rillig1-27/+27
2005-12-04The checksums for pkgsrc patches are always checked -- even ifrillig1-6/+1
NO_CHECKSUM is set.
2005-12-01Don't create distinfo files in the "makesum" and "makepatchsum" targetsrillig1-1/+11
if NO_CHECKSUM is set to "yes". This allows to run "make makepatchsum" in the top level pkgsrc directory without having to worry about lots of additional distinfo files being created.
2005-12-01Inserted "set -e" as the first command in the show-depends-dirs targetrillig1-2/+3
to force an early exit as soon as a "cd" command fails. Otherwise, "/" would have been added as a dependency, leading to undefined behavior. See PR 32202 for details. Fixes the second item of PR 32202.
2005-12-01The new target do-check-pkg-fail-reason should to be a dependency ofrillig1-3/+15
every top level target that is intended to be called by the user or by a package different from the current package. It provides the same action as the "main" targets like "fetch", "expand", "build" before in case PKG_FAIL_REASON is set, that is it prints all PKG_FAIL_REASONs and fails. Fixes PR 32202. Implementation notes: - The target names have the "do-" prefix to not pollute the bsd.pkg.check.mk namespace. - The PKG_SKIP_REASON has no influence on the do-check-pkg-fail-reason target, although both are handled with the same code.
2005-11-29Fix REQUIRES= when ldd output has wrong number of fields.reed1-2/+2
(This also fixes problem where on some Linux systems, ldd outputs linux-gate.so.1 entry without corresponding library.) This was noticed on Linux. This was discussed and okayed on the tech-pkg list in February, 2002. I have been using this on NetBSD and Linux since then. (Also just tested on DragonFly.)
2005-11-23Per request, back out all the SKIP_AUDIT_PACKAGES changes.erh1-33/+19
bsd.pkg.mk:1.1758-1.1752 bsd.prefs.mk:1.210 bulk/build:1.79 defaults/mk.conf:1.93-1.92
2005-11-22Missing a line from the previous commit that would cause PKG_DB_TMPDIRjlam1-2/+2
to also be forcibly created (if missing) as part of "make install".
2005-11-22Create PKG_DB_TMPDIR (${WRKDIR}/.pkgdb) in a separate step from creatingjlam1-3/+4
${WRKDIR}, and just always create it as part of a "make extract". This should fix problems where if an old work directory is lying around that doesn't already have .pkgdb, then a "make reinstall" won't break.
2005-11-20Removed a line in the _SU_TARGET variable that had been left fromrillig1-2/+1
debugging.
2005-11-20Added subshell parentheses around the command for updating pkg_install.rillig1-2/+2
This allows for copy&paste.
2005-11-20Reverted the SU_CMD change from between 1.1748 and 1.1749 almostrillig1-2/+3
completely. The only difference to revision 1.1748 is that the PATH=$$PATH:${SU_CMD_PATH_APPEND} argument is included in single quotes. This will lead to problems when the PATH should contain single quotes but works in all other cases. (Single quotes in the PATH hadn't worked before either.) The tricky part regarding this code is that the PATH and .CURDIR bypass the SU_CMD. They are evaluated before and inserted as literals into the command that is executed by the SU_CMD. Preserving these variables this way circumvents interpretation and modification through the SU_CMD, but leads to ugly rules for quoting which are currently not handled completely correctly.
2005-11-19If the directory of a dependency does not exist, fail instead of (almost)rillig1-2/+3
silently skipping the dependency.
2005-11-18Collapse two .for blocks to improve readability:tv1-14/+3
_ULIMIT_CMD to use a ${...:@var@loop ...@} construct _ACCEPTABLE to use a !empty(var:Mfoo) conditional
2005-11-18Use :D and :U constructs in a few more places to collapse some .if definedtv1-36/+8
blocks to a more parallelism-readable state.
2005-11-18Simplify the _MASTER_SITE_{BACKUP,OVERRIDE} settings a bit by using a :Dtv1-12/+3
construct rather than .if defined(), and changing := to =.
2005-11-17To support variants of make that run the shell so 'set -e' is true (shellerh1-3/+3
exits on any command failing), add a '|| ${TRUE}' when running the check-vulnerable target in do-fetch.
2005-11-17Back out the previous change. The output _will_ be visible to the user.erh1-4/+4
See the "*)" case in the do-fetch target.
2005-11-17The message that audit-packages is out-of-date is printed on stderr insteadrillig1-4/+4
of stdout because the latter would not show up to the user.