On Mon, 21 Jan 2013 Adam Borowski <[email protected]> wrote: > Looking more closely (because it's especially bad for multiarch), I > see that it appears to be caused by applying holds too late. > > Let's say we have the following versions and dependencies: A=1 > (installed) A=2 Breaks: B B (installed, held) C (installed) Depends: > B > > (or any similar scenario, in my case A having available versions > A:amd64-2 and A:i386-1, B:i386 depending on A:i386) > > > If the resolver wants to upgrade A to version 2, it will decide that > it needs to remove B and C. It only then processes holds, marking B > and (transitively) A as kept. C still remains marked for removal, > even though any reason to do so is gone.
I just hit this case with apt 2.1.10. In my case there are no held packages (apt-mark shows none). Apt version: $ apt --version apt 2.1.10 (amd64) The system is in a clean state with 2 packages to be upgraded (this is on Ubuntu, but it shouldn't really matter): $ sudo apt upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages have been kept back: gnome-settings-daemon gnome-settings-daemon-common 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded If I try to full-upgrade the two packages still don't get installed, but other packages get removed: $ sudo apt full-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: apg fprintd gnome-control-center-faces libcolord-gtk1 libfprint-2-2 libgsound0 libhandy-1-0 libpam-fprintd libsysmetrics1 mobile-broadband-provider-info network-manager-gnome xwayland Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED: gdm3 gnome-control-center gnome-initial-setup ubuntu-desktop ubuntu-desktop-minimal ubuntu-session The following packages have been kept back: gnome-settings-daemon gnome-settings-daemon-common 0 upgraded, 0 newly installed, 6 to remove and 2 not upgraded. After this operation, 9.264 kB disk space will be freed. Do you want to continue? [Y/n] Same command with debugging info: $ sudo apt -o Debug::pkgProblemResolver=1 full-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Starting pkgProblemResolver with broken count: 1 Starting 2 pkgProblemResolver with broken count: 1 Investigating (0) gnome-settings-daemon:amd64 < 3.37.0-1ubuntu1 -> 3.37.0-1ubuntu2 @ii umU Ib > Broken gnome-settings-daemon:amd64 Breaks on gdm3:amd64 < 3.34.1-1ubuntu1 @ii mK > (< 3.37.0) Considering gdm3:amd64 30 as a solution to gnome-settings-daemon:amd64 48 Added gdm3:amd64 to the remove list Broken gnome-settings-daemon:amd64 Breaks on gnome-shell:amd64 < 3.36.4-1ubuntu2~build1 @ii mK NPb IPb > (< 3.37.90) Considering gnome-shell:amd64 72 as a solution to gnome-settings-daemon:amd64 48 Removing gnome-settings-daemon:amd64 rather than change gnome-shell:amd64 Investigating (0) gnome-control-center:amd64 < 1:3.37.90-1ubuntu2 @ii mK NPb Ib > Broken gnome-control-center:amd64 Depends on gnome-settings-daemon:amd64 < 3.37.0-1ubuntu1 | 3.37.0-1ubuntu2 @ii umR > (>= 3.29) Considering gnome-settings-daemon:amd64 48 as a solution to gnome-control-center:amd64 36 Removing gnome-control-center:amd64 rather than change gnome-settings-daemon:amd64 Investigating (0) ubuntu-session:amd64 < 3.36.0-2ubuntu1 @ii mK Ib > Broken ubuntu-session:amd64 Depends on gnome-settings-daemon:amd64 < 3.37.0-1ubuntu1 | 3.37.0-1ubuntu2 @ii umR > (>= 3.24) Considering gnome-settings-daemon:amd64 48 as a solution to ubuntu-session:amd64 33 Removing ubuntu-session:amd64 rather than change gnome-settings-daemon:amd64 Investigating (0) gdm3:amd64 < 3.34.1-1ubuntu1 @ii mK Ib > Broken gdm3:amd64 Depends on gnome-settings-daemon:amd64 < 3.37.0-1ubuntu1 | 3.37.0-1ubuntu2 @ii umR > (>= 3.24) Considering gnome-settings-daemon:amd64 48 as a solution to gdm3:amd64 30 Removing gdm3:amd64 rather than change gnome-settings-daemon:amd64 Investigating (0) gnome-initial-setup:amd64 < 3.37.91-1ubuntu1 @ii mK Ib > Broken gnome-initial-setup:amd64 Depends on gnome-settings-daemon:amd64 < 3.37.0-1ubuntu1 | 3.37.0-1ubuntu2 @ii umR > (>= 3.24) Considering gnome-settings-daemon:amd64 48 as a solution to gnome-initial-setup:amd64 5 Removing gnome-initial-setup:amd64 rather than change gnome-settings-daemon:amd64 Investigating (0) ubuntu-desktop-minimal:amd64 < 1.455 @ii mK Ib > Broken ubuntu-desktop-minimal:amd64 Depends on gdm3:amd64 < 3.34.1-1ubuntu1 @ii mR > Considering gdm3:amd64 30 as a solution to ubuntu-desktop-minimal:amd64 3 Removing ubuntu-desktop-minimal:amd64 rather than change gdm3:amd64 Investigating (0) ubuntu-desktop:amd64 < 1.455 @ii mK Ib > Broken ubuntu-desktop:amd64 Depends on gdm3:amd64 < 3.34.1-1ubuntu1 @ii mR > Considering gdm3:amd64 30 as a solution to ubuntu-desktop:amd64 1 Removing ubuntu-desktop:amd64 rather than change gdm3:amd64 Investigating (1) gnome-shell:amd64 < 3.36.4-1ubuntu2~build1 @ii mK NPb Ib > Broken gnome-shell:amd64 Depends on gnome-settings-daemon:amd64 < 3.37.0-1ubuntu1 | 3.37.0-1ubuntu2 @ii umR > (>= 3.16.0) Considering gnome-settings-daemon:amd64 48 as a solution to gnome-shell:amd64 72 Added gnome-settings-daemon:amd64 to the remove list Fixing gnome-shell:amd64 via keep of gnome-settings-daemon:amd64 Try to Re-Instate (1) gnome-settings-daemon:amd64 Investigating (1) gnome-settings-daemon:amd64 < 3.37.0-1ubuntu1 | 3.37.0-1ubuntu2 @ii umH Ib > Broken gnome-settings-daemon:amd64 Depends on gnome-settings-daemon-common:amd64 < 3.37.0-1ubuntu1 -> 3.37.0-1ubuntu2 @ii umU > (= 3.37.0-1ubuntu1) Considering gnome-settings-daemon-common:amd64 13 as a solution to gnome-settings-daemon:amd64 48 Added gnome-settings-daemon-common:amd64 to the remove list Fixing gnome-settings-daemon:amd64 via keep of gnome-settings-daemon-common:amd64 Try to Re-Instate (1) gnome-settings-daemon-common:amd64 Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: apg fprintd gnome-control-center-faces libcolord-gtk1 libfprint-2-2 libgsound0 libhandy-1-0 libpam-fprintd libsysmetrics1 mobile-broadband-provider-info network-manager-gnome xwayland Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED: gdm3 gnome-control-center gnome-initial-setup ubuntu-desktop ubuntu-desktop-minimal ubuntu-session The following packages have been kept back: gnome-settings-daemon gnome-settings-daemon-common 0 upgraded, 0 newly installed, 6 to remove and 2 not upgraded. After this operation, 9.264 kB disk space will be freed. Do you want to continue? [Y/n] Paride

