Release 26.1.0.
upgrade: Fix issue with pkgtool upgrades.
The dependency calculations weren't correct when considering just the
pkgtools, and packages that were refreshed due to an upgrade did not
have their dependencies considered, resulting in missing packages during
the install phase.
Release 25.10.0.
autoremove: Ensure lpkg keep is set correctly.
Ordinarily this is set during initialisation based on the pkgin db,
however if the pkgdb changed since the last run and an update was
performed then the in-memory entry wouldn't be set correctly, resulting
in "pkg_add -A" being used for all packages, even though all the other
data was correct.
Fixes issue seen where manual pkg_add (or in fact any pkgdb operation)
prior to an upgrade would result in packages incorrectly being marked as
autoremove. The test suite has been updated to trigger this case in
https://github.com/TritonDataCenter/pkgin-test-suite/commit/0a61ddc9.
Release 25.7.0.
upgrade: Ignore refresh for package tool upgrades.
The reason for performing packaging tool upgrades first is to bring in
fixes or improvements that may be required for the next upgrade. Having
them upgraded separately first and requiring two runs when they are only
being refreshed quickly gets annoying as, due to pkgsrc velocity, it
happens on pretty much every upgrade when tracking trunk.
dewey: Ensure source code is UTF-8.
github: Define SED for libfetch.
Release 25.5.2.
tools: Use strlcat().
fsops: Fix format-truncation.
download: Fix uninitialized variable.
depends: Fix uninitialized variable.
impact: Fix -Wparentheses.
impact: Remove unused variables.
Release 25.5.1.
actions: Ensure n is initialized to zero.
Release 25.5.0.
Overhaul CONFLICTS and SUPERSEDES.
Instead of simply rejecting incoming CONFLICTS (or worse, allowing the user
to continue!), if an incoming package conflicts with an installed package
then the installed package is marked for deletion. This gives a much more
natural interaction when trying to install a package, with the user able to
see what effects will be taken prior to accepting to continue.
At the same time improve SUPERSEDES. Previously they were only considered
for already-installed packages, and did not handle for example the recent
php-X.Y => phpXY-X.Y overhaul. Now pkgin will search for the best remote
package that matches the PKGBASE of a package that SUPERSEDES an installed
package. While not perfect, this is the best we can do with the currently
available pkg_summary(5) fields.
pkg_check: Overhaul pkg_met_reqs().
No functional change, but simplify the code a lot and improve comments.
Overhaul CONFLICTS and SUPERSEDES.
Instead of simply rejecting incoming CONFLICTS (or worse, allowing the user
to continue!), if an incoming package conflicts with an installed package
then the installed package is marked for deletion. This gives a much more
natural interaction when trying to install a package, with the user able to
see what effects will be taken prior to accepting to continue.
At the same time improve SUPERSEDES. Previously they were only considered
for already-installed packages, and did not handle for example the recent
php-X.Y => phpXY-X.Y overhaul. Now pkgin will search for the best remote
package that matches the PKGBASE of a package that SUPERSEDES an installed
package. While not perfect, this is the best we can do with the currently
available pkg_summary(5) fields.
Move record_pattern_to_array() to sqlite_callbacks.
This will shortly be used in a different part of the code.
pkg_check: Remove CHECK_PROVIDES.
Has never been enabled that I'm aware of, doesn't work, and will likely
need a bunch of work to make work properly anyway.
pkg_check: Simplify using action_is_install().
impact: Fix typo.
actions: Reformat for 80-characters.
upgrade: Upgrade packaging tools first.
If any important packaging tools are installed and have upgrades
available then perform only those first, and then instruct the user to
re-run "pkgin upgrade" to upgrade the remaining packages now that the
newer tools are installed. Otherwise behave exactly the same as before.
github: Implement workflow for building all tags.
This currently only supports v21.7.0 onwards. Supporting older releases
will be more difficult, but will hopefully be done at some point.
github: Ensure libfetch is built with IPv6 support.
Required by the test suite.
gh: be specific, other junk in /usr/local