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.
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.
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.
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.
(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.)
${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.
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.
ALLOW_VULNERABLE_PACKAGES settings that applies to all packages, there can
now be per-package lists of allowed vulnerability ids:
ALLOW_VULNERABILITIES.<pkgname>=<space separated list of vulnids>
To avoid duplication of code, audit-packages is now used to do these checks.
It can be skipped altogether by setting:
SKIP_AUDIT_PACKAGES=yes
variable before if it had multiple adjacent white-space characters in
it. Removed the dependency on awk(1), as a simple shell script can do
this job, too. Another change is that all kinds of weird pathnames can
be used for PREPEND_PATH, like /bin, "/bin/Program Files", "/ ",
/foo\ bar, and so on. This had not been possible before, too.
Related to PR 32079.
Ok'ed by jlam.
directories listed in INSTALLATION_DIRS are created in ${PREFIX}, but
it's now okay to include ${PREFIX} at the front of each, directory,
e.g. this is now okay:
INSTALLATION_DIRS+= ${PREFIX}/bin
Makes using this variable a bit less unwieldy sometimes.
modified) to not rely on this change, the default value of BUILD_DIRS
can be set to ${CONFIGURE_DIRS} instead of ${WRKSRC}. There are far more
packages setting CONFIGURE_DIRS and BUILD_DIRS to the same value than
there are packages needing different values, so this default seems more
reasonable. Now the default values are:
CONFIGURE_DIRS?= ${WRKSRC} # (unchanged)
BUILD_DIRS?= ${CONFIGURE_DIRS}
INSTALL_DIRS?= ${BUILD_DIRS} # (unchanged)
they had been before my last change. I had thought it would be more
intuitive if they were based on GNU_CONFIGURE_PREFIX instead of PREFIX,
but this might break some packages.
Up to now, a package that wanted to use a different location for
--mandir had to first define CONFIGURE_HAS_MANDIR=no and then
CONFIGURE_ARGS+=--mandir=${...}, which looks weird. Now it only has to
set GNU_CONFIGURE_MANDIR.
relative to ${WRKSRC}. This makes it possible to shorten definitions
like "BUILD_DIRS=${WRKSRC}/foo ${WRKSRC}/bar" in package Makefiles to
"BUILD_DIRS=foo bar". Almost all current uses of those directories are
given as absolute directories (mostly in the form ${WRKSRC}/foo), which
will work as they did before.