[Bug 2127057] Re: Automatically installed Recommends are too easily removed
Julian Andres Klode
2127057 at bugs.launchpad.net
Wed Oct 8 09:58:22 UTC 2025
** Description changed:
[Impact]
As part of the solver evaluation we observed the following oops:
https://errors.ubuntu.com/oops/6c8e32eb-665d-11f0-a985-fa163ec8ca8c
The user ran `apt install gpg` with gpg being available for upgrade. The
solver upgraded `gpg` accordingly, but due to being co-installable at
different versions `gpgv` was kept at the old version.
As `gnupg Depends: gpgv (= same version), gpg (= same version)` this
caused its dependencies to become unsatisfiable. Rather than upgrading
gpgv, the solver proceeded to remove `gnupg` and following that
`seahorse` as these two packages were automatically installed and only
got pulled in by a `ubuntu-desktop Recommends: seahorse` which was only
evaluated at the very end after all hard Depends were resolved.
[Proposed solution]
When we order the dependencies to evaluate, we replace the "optional" ordering constraint with a new one called "eager". All hard dependencies are eager, and we can now mark existing satisfied Recommends as eager, leading to them being evaluated pretty early on in the solving process.
[Test plan]
- The change to the solver has been evaluated by comparing a (consistent) sample of 430 possible regressions reported as part of the 25.04 solver evaluation against the 3.1.6ubuntu2 version in the release pocket.
+ The change to the solver has been evaluated by comparing a (consistent) sample of 430 possible regressions reported as part of the 25.04 solver evaluation against the 3.1.6ubuntu2 version in the release pocket. This test suite compares installed against git, so it can only be run pre-upload at this time.
- We observed the following changes in the solver solutions:
+ We also have the regression test suite inside of apt which showed no
+ regressions, and is run on autopkgtests and is sufficient to guard
+ against things like misbuilds rather than algorithm changes.
+
+ [Test results]
+ We observed the following changes in the solver solutions in the differential test suite:
- power-profiles-daemon no longer was replaced by tlp when installing
ubuntu-mate-desktop as an additional desktop
[0ebf6c16-3529-11f0-bb60-fa163ec44ecd and others]
- vdpau-driver-all:amd64 and mesa-vdpau-drivers:amd64 no longer get
replaced by their i386 versions [22d378e7-35b0-11f0-a747-fa163ec8ca8 and
others]
- ubuntu-restricted-extras now consistently does not install libavcodec-
extras [23684f02-36d2-11f0-a754-fa163ec8ca8c and others]. This is
consistent with the classic solver. Previously, the new solver installed
libavcodec-extra in 12 out of 22 cases.
- ubuntu-mate-desktop co-install in b57a8058-6658-11f0-ba1d-fa163e171f02
no longer replaces automatically installed packages indicator-FOO with
ayatana-indicator-FOO
We believe that these changes are all in line with our expectations and
an improvement in the proposed solutions.
No changes were observed in the apt regression test suite, or the public
https://salsa.debian.org/apt-team/apt-tests test suite.
- We are unable to apply our differential solver test suite for two
- installed versions at this time, so we rely on pre-upload testing for
- it. To detect any non-algorithmic regressions due to misbuilds, we rely
- on the regression test suite which is run as part of the autopkgtest.
[Regression potential]
This leads to different solver outcomes. We believe that the solver differential test suite from the 25.04 evaluation as explained in the test plan gives us an adequate understanding of the kind of changes we see to be confident with the change being made.
** Also affects: apt (Ubuntu Questing)
Importance: Undecided
Status: New
** Changed in: apt (Ubuntu Questing)
Status: New => Triaged
** Description changed:
[Impact]
As part of the solver evaluation we observed the following oops:
https://errors.ubuntu.com/oops/6c8e32eb-665d-11f0-a985-fa163ec8ca8c
The user ran `apt install gpg` with gpg being available for upgrade. The
solver upgraded `gpg` accordingly, but due to being co-installable at
different versions `gpgv` was kept at the old version.
As `gnupg Depends: gpgv (= same version), gpg (= same version)` this
caused its dependencies to become unsatisfiable. Rather than upgrading
gpgv, the solver proceeded to remove `gnupg` and following that
`seahorse` as these two packages were automatically installed and only
got pulled in by a `ubuntu-desktop Recommends: seahorse` which was only
evaluated at the very end after all hard Depends were resolved.
[Proposed solution]
When we order the dependencies to evaluate, we replace the "optional" ordering constraint with a new one called "eager". All hard dependencies are eager, and we can now mark existing satisfied Recommends as eager, leading to them being evaluated pretty early on in the solving process.
[Test plan]
The change to the solver has been evaluated by comparing a (consistent) sample of 430 possible regressions reported as part of the 25.04 solver evaluation against the 3.1.6ubuntu2 version in the release pocket. This test suite compares installed against git, so it can only be run pre-upload at this time.
We also have the regression test suite inside of apt which showed no
regressions, and is run on autopkgtests and is sufficient to guard
against things like misbuilds rather than algorithm changes.
[Test results]
We observed the following changes in the solver solutions in the differential test suite:
- power-profiles-daemon no longer was replaced by tlp when installing
ubuntu-mate-desktop as an additional desktop
[0ebf6c16-3529-11f0-bb60-fa163ec44ecd and others]
- vdpau-driver-all:amd64 and mesa-vdpau-drivers:amd64 no longer get
replaced by their i386 versions [22d378e7-35b0-11f0-a747-fa163ec8ca8 and
others]
- ubuntu-restricted-extras now consistently does not install libavcodec-
extras [23684f02-36d2-11f0-a754-fa163ec8ca8c and others]. This is
consistent with the classic solver. Previously, the new solver installed
libavcodec-extra in 12 out of 22 cases.
- ubuntu-mate-desktop co-install in b57a8058-6658-11f0-ba1d-fa163e171f02
no longer replaces automatically installed packages indicator-FOO with
ayatana-indicator-FOO
We believe that these changes are all in line with our expectations and
an improvement in the proposed solutions.
- No changes were observed in the apt regression test suite, or the public
- https://salsa.debian.org/apt-team/apt-tests test suite.
+ No changes were observed in the apt integration test suite, or the
+ public https://salsa.debian.org/apt-team/apt-tests solver differential
+ regression test suite.
-
- [Regression potential]
+ [Where problems could occur]
This leads to different solver outcomes. We believe that the solver differential test suite from the 25.04 evaluation as explained in the test plan gives us an adequate understanding of the kind of changes we see to be confident with the change being made.
** Description changed:
[Impact]
As part of the solver evaluation we observed the following oops:
https://errors.ubuntu.com/oops/6c8e32eb-665d-11f0-a985-fa163ec8ca8c
The user ran `apt install gpg` with gpg being available for upgrade. The
solver upgraded `gpg` accordingly, but due to being co-installable at
different versions `gpgv` was kept at the old version.
As `gnupg Depends: gpgv (= same version), gpg (= same version)` this
caused its dependencies to become unsatisfiable. Rather than upgrading
gpgv, the solver proceeded to remove `gnupg` and following that
`seahorse` as these two packages were automatically installed and only
got pulled in by a `ubuntu-desktop Recommends: seahorse` which was only
evaluated at the very end after all hard Depends were resolved.
[Proposed solution]
When we order the dependencies to evaluate, we replace the "optional" ordering constraint with a new one called "eager". All hard dependencies are eager, and we can now mark existing satisfied Recommends as eager, leading to them being evaluated pretty early on in the solving process.
[Test plan]
The change to the solver has been evaluated by comparing a (consistent) sample of 430 possible regressions reported as part of the 25.04 solver evaluation against the 3.1.6ubuntu2 version in the release pocket. This test suite compares installed against git, so it can only be run pre-upload at this time.
We also have the regression test suite inside of apt which showed no
regressions, and is run on autopkgtests and is sufficient to guard
against things like misbuilds rather than algorithm changes.
[Test results]
- We observed the following changes in the solver solutions in the differential test suite:
+ We observed the following changes in the solver solutions in the differential solver regression test suite:
- power-profiles-daemon no longer was replaced by tlp when installing
ubuntu-mate-desktop as an additional desktop
[0ebf6c16-3529-11f0-bb60-fa163ec44ecd and others]
- vdpau-driver-all:amd64 and mesa-vdpau-drivers:amd64 no longer get
replaced by their i386 versions [22d378e7-35b0-11f0-a747-fa163ec8ca8 and
others]
- ubuntu-restricted-extras now consistently does not install libavcodec-
extras [23684f02-36d2-11f0-a754-fa163ec8ca8c and others]. This is
consistent with the classic solver. Previously, the new solver installed
libavcodec-extra in 12 out of 22 cases.
- ubuntu-mate-desktop co-install in b57a8058-6658-11f0-ba1d-fa163e171f02
no longer replaces automatically installed packages indicator-FOO with
ayatana-indicator-FOO
We believe that these changes are all in line with our expectations and
an improvement in the proposed solutions.
No changes were observed in the apt integration test suite, or the
public https://salsa.debian.org/apt-team/apt-tests solver differential
regression test suite.
[Where problems could occur]
This leads to different solver outcomes. We believe that the solver differential test suite from the 25.04 evaluation as explained in the test plan gives us an adequate understanding of the kind of changes we see to be confident with the change being made.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/2127057
Title:
Automatically installed Recommends are too easily removed
Status in apt package in Ubuntu:
Triaged
Status in apt source package in Questing:
Triaged
Bug description:
[Impact]
As part of the solver evaluation we observed the following oops:
https://errors.ubuntu.com/oops/6c8e32eb-665d-11f0-a985-fa163ec8ca8c
The user ran `apt install gpg` with gpg being available for upgrade.
The solver upgraded `gpg` accordingly, but due to being co-installable
at different versions `gpgv` was kept at the old version.
As `gnupg Depends: gpgv (= same version), gpg (= same version)` this
caused its dependencies to become unsatisfiable. Rather than upgrading
gpgv, the solver proceeded to remove `gnupg` and following that
`seahorse` as these two packages were automatically installed and only
got pulled in by a `ubuntu-desktop Recommends: seahorse` which was
only evaluated at the very end after all hard Depends were resolved.
[Proposed solution]
When we order the dependencies to evaluate, we replace the "optional" ordering constraint with a new one called "eager". All hard dependencies are eager, and we can now mark existing satisfied Recommends as eager, leading to them being evaluated pretty early on in the solving process.
[Test plan]
The change to the solver has been evaluated by comparing a (consistent) sample of 430 possible regressions reported as part of the 25.04 solver evaluation against the 3.1.6ubuntu2 version in the release pocket. This test suite compares installed against git, so it can only be run pre-upload at this time.
We also have the regression test suite inside of apt which showed no
regressions, and is run on autopkgtests and is sufficient to guard
against things like misbuilds rather than algorithm changes.
[Test results]
We observed the following changes in the solver solutions in the differential solver regression test suite:
- power-profiles-daemon no longer was replaced by tlp when installing
ubuntu-mate-desktop as an additional desktop
[0ebf6c16-3529-11f0-bb60-fa163ec44ecd and others]
- vdpau-driver-all:amd64 and mesa-vdpau-drivers:amd64 no longer get
replaced by their i386 versions [22d378e7-35b0-11f0-a747-fa163ec8ca8
and others]
- ubuntu-restricted-extras now consistently does not install
libavcodec-extras [23684f02-36d2-11f0-a754-fa163ec8ca8c and others].
This is consistent with the classic solver. Previously, the new solver
installed libavcodec-extra in 12 out of 22 cases.
- ubuntu-mate-desktop co-install in
b57a8058-6658-11f0-ba1d-fa163e171f02 no longer replaces automatically
installed packages indicator-FOO with ayatana-indicator-FOO
We believe that these changes are all in line with our expectations
and an improvement in the proposed solutions.
No changes were observed in the apt integration test suite, or the
public https://salsa.debian.org/apt-team/apt-tests solver differential
regression test suite.
[Where problems could occur]
This leads to different solver outcomes. We believe that the solver differential test suite from the 25.04 evaluation as explained in the test plan gives us an adequate understanding of the kind of changes we see to be confident with the change being made.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/2127057/+subscriptions
More information about the foundations-bugs
mailing list