- Restore PKG_PREFIX in pkg_delete (PR 42731)
- Ensure that the current pkg_install version is at least as new as
the version used to build the package
- pkg_add -U to rplace an installed version
- refactored man pages
- PKG_DBDIR / PKG_REFCOUNT_DBDIR as pkg_install.conf options
- synced license list
- use connection cache from libfetch
Completely ignore @src in pkg_create. Silently ignore the -L option.
The combination of -I and -p are used by pkgsrc for the same result.
Do not overwrite a string with itself using snprintf. This breaks
setting the pkgdb directory internally on Linux. Explicitly check
if the string is the same and otherwise just use xstrdup.
Add support to query arbitrary variables with pkg_admin config-var.
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