When running `apk upgrade -al` only packages listed in the world file are
forced to upgrade. If a package in world has a dependency that is eligible
for upgrade, but the currently installed version is also still available in
the repository, it will not be considered for upgrade.
This causes considerable breakage for at least Adélie Linux; we keep built
packages around on the mirrors indefinitely. This breakage was noticed
during upgrades of 1.0-BETA2 to 1.0-BETA3, and the solver log (using
DEBUG_PRINT) can be seen at .
The patch I am sending fixes this issue for us by adding an option to the
upgrade applet, '-d' or '--deep', which causes the solver to prefer newer
versions of all selected packages when available. The difference in the
solver log can be seen at .
A. Wilcox (1):
upgrade: add --deep option to upgrade everything
src/apk_solver.h | 1 +
src/solver.c | 10 ++++++++++
src/upgrade.c | 5 +++++
3 files changed, 16 insertions(+)