Mail archive

Re: [alpine-devel] [PATCH 0/1] apk upgrade has issues when old deps still available

From: Timo Teras <>
Date: Mon, 3 Jun 2019 09:45:33 +0300


On Fri, 31 May 2019 23:25:15 -0500
"A. Wilcox" <> wrote:

> 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 [1].
> 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 [2].
> [1]:
> [2]:

Thanks for the debug logs, and analysis so far. I have seen this also
once or twice and been wondering what is causing it.

However, instead of adding yet another switch. I'd like to fix the root
cause and make this default behaviour. Furthermore, I think the patch
suggested breaks at least package pinning.

Was any package pinning used?

Is there any cycles, or errors in the repository? E.g. does "apk dot
--errors --installed" see anything problematic?

Do you have an easy way for me to duplicate this setup, to further
analyze the issue?

It is likely related to the solver doing things in wrong order which
causes some of the dependency inherited flags to not be available at
the time when the dependency gets processed.


Received on Mon Jun 03 2019 - 09:45:33 UTC