Work around a deficiency in the 1.6 pkg_add - cd to the directory
containing a binary package before running pkg_add, to ensure it can
pick up dependencies.
'Makefile' is back in BUILD_VERSION, so add it back in here.
Implement '-f' based on patches from norm@sandbox.org.uk - perform a
fetch for all missing/mismatched packages before any building. Can be
used with -c or -i to just fetch missing/mismatched packages.
Handle updated format of +BUILD_VERSION - sometimes patches are recorded
with paths, sometimes not. Ideally we would have a show-build-version
target in bsd.pkg.mk which could be sued by us, but that doesn't help
checking against existing installations where nothing has changed except
the way +BUILD_VERSION is formatted.
Handle -r and -a on the same line (remove mismatched packages, then add)
In the -B case avoid an extra 'make' invocation - reduces time taken on
my system by 45%
Changes from Stoned Elipot to permit setting additional tags in mk.conf
or similar, plus handling and tags (eg: 'x11/acroread x11+i386').
Also expand the manpage slightly and give some examples.
Speed optimisations:
Reduce number of calls to 'make'
If a package is checked in the '-u' check, skip it in the '-a' check
Features:
Output after the checking phase is now suitable for use as an sh script
Implement '-r' which will recursively delete mismatched packages
Fixes:
Change pkgchk references to pkg_chk
Check during install if packages have already been installed.
Avoids reinstalling a package if it had already been installed as
a depends on a previous package.
- Add Solaris portability fixes supplied by Stoned Elipot in PR pkg/13434.
- Rename binary to "pkg_chk" which matches the naming of our package tools
and avoids confusion with Solaris's "pkgchk" command.
- Set BSD_PKG_MK when parsing mk.conf - from PR pkg/13413 from Stoned Elipot
- Actually delete previous version of a package when updating via binary pkgs
- After finishing print a summary of packages updated and added
- Move update/installs after check phase, and perform all updates before
installs.
- When updating packages that depend on each other, skip dependent
packages to reduce unnecessary rebuilding.
- Implement -n (display actions but do not perform them)
pkgchk verifies that the versions of installed packages matches those in
pkgsrc, optionally adding missing or updating mismatched packages.
It can verify all installed packages, or check against a set of packages
based on the hostname, architecture, and other characteristics.