Add a new command for pkg_admin: findbest. It takes one or more patterns
and searches for the best match in PKG_PATH, just like pkg_add would.
It prints the URLs of the best match for each pattern to stdout.
Rewrite the config file parser to read the file only once.
Fix a bug in pkg_add's -P handling. For dependencies the pkgdb path was
computed incorrectly and included destdir more than once.
Fix the ACTIVE_FTP option to actually set the "a" flag and not the old
"p" flag.
- pkg_add: add support to check license conditions before installation
- pkg_delete: add -k option to skip over preserve packages.
- WARNS=4 clean, fix some potential uses of uninitialized variables
- license handling: accept upper case letters. Keep license checks
case-sensitive as done in the older pkgsrc logic. Document this.
OK dillo@, schmonz@, wiz@
- pkg_info:
- fix handling of non-packages, that are valid archives
- invert order of pkg_info -r to better match the expectations of
make update.
Add logic to evaluate license conditions. As frontend for pkgsrc,
pkg_admin gets two new commands (check-license and
check-single-license), which can be used to evaluate a given condition.
pkg_add will be changed to honour licenses at a later point.
Make pkg_delete -d the default behavior, remove the option.
Remove pkg_create -R support (reorder @dirrm entries).
Introduce new plist command @pkgdir, which makes pkg_add add
this directory if it doesn't exist already and pkg_delete remove it
only if no other package has a @pkgdir entry for it. Otherwise
directories are pruned when the last file or directory in them is
removed. @dirrm is now a pure hint, if the directory doesn't exist, it
will be silently skipped.
Make pkg_delete -d the default behavior, remove the option.
Remove pkg_create -R support (reorder @dirrm entries).
Introduce new plist command @pkgdir, which makes pkg_add add
this directory if it doesn't exist already and pkg_delete remove it
only if no other package has a @pkgdir entry for it. Otherwise
directories are pruned when the last file or directory in them is
removed. @dirrm is now a pure hint, if the directory doesn't exist, it
will be silently skipped.
- pkg_add:
- more consistent PKG_PATH processing
- support setting PKG_PATH in pkg_install.conf(5)
- don't crash when installing package with conflicts
- fix updating packages with explicit +PRESERVE
- document the rules for finding packages more clearly
- pkg_info:
- don't complain about PKG_PATH, it is not used
- sync documentation with reality
- improve diagnostic for audit-packages wrapper
- new pkg_delete code:
- topologocial ordering of packages
- bails out before removing anything if it knows that it will run into
problems later
- new option -A: remove automatic installed packages that are no
longer used (e.g. pkg_add foo; pkg_delete -A foo should not alter
the list of installed packages)
- less chatty pkg_info for -Q
- pkg_add:
- doesn't crash on missing +BUILD_INFO
- for -u skip the package it will update when l oking for conflicts
- don't fail in libarchive when trying to use directories as packages
- pkg_admin:
- stricter argument checking for audit family of commands
- fetch-pkg-vulnerabilities -u will only update if the remove file
is newer
- pkg_delete:
- fix PKG_METADATA_DIR passed to deinstall script
- when using -d, ignore @dirrm
- fix -d code to unregister the correct pkgdb entry
- pkg_info:
- fix crashes on incomplete packages
- DB support is always included from libnbcompat if needed
- pkg_view and linkfarm are not installed any more; they are not moved
into the attic yet, so they can easily be installed as separte package
- common configuration file to customise the behavior of various
components; this supersedes the old audit-packages.conf
- support for PKSC7 signatures (using X509 certs) and GPG signatures for
packages in a secure way. See pkg_admin(8) for how to create them and
pkg_install.conf(5) for the options to use them
- audit-packages and download-vulnerability-list are wrapper scripts
around pkg_admin. They try to mimic the classic options if used
sanely.
"pkg_admin audit" is now an order of magnitude faster than before
- pkg_add uses libarchive and libfetch instead of external ftp and tar:
- progress bar is currently missing for downloads
- "pkg_add -" is no longer supported
- no adhoc check for conficts between dependencies and already
installed packages
- "pkg_add -s" has been replaced with an option in pkg_install.conf,
verification of plain detached GPG signatures is no longer supported
- optional check for vulnerabilities before adding a package
- if /var and /usr/pkg are on different fileystems it is twice as fast
now
- conflicts due to overlapping plists are checked before installation
- pkg_add no longer plays with the process limits
- pkg_add and pkg_delete have a new destdir option; scripts have to
either be modified to use PKG_DESTDIR or should be disabled
- pkg_add -u for now can't be used to update to the exact same version
- internal "rm -rf" and "mkdir_p" code
- all memory allocation failures are not explicitly fatal
- if a file is not removed due to a failed checksum, still remove the
entry from pkgdb
- vulnerability check backend moved into lib for reuse in pkg_add
- add pkg_install.conf parsing for common configuration of the various
pkg_install components
- fix crashes related to uninitialised PLIST structures
- check explicitly if the required files in pkgdb are present, fixing
issues with ~empty left-over directories
- improve hardlink handling in pkg_create using the libarchive link
resolver
- pkg_delete with -P overwrite now updates the pkgdb correctly
- silence warning about empty /var/db/pkg, it provides no value
- pkg_info uses libfetch for remote locations and works without
temporary files, speeding up operation a lot