[Bug 2127057] [NEW] Automatically installed Recommends are too easily removed
Julian Andres Klode
2127057 at bugs.launchpad.net
Wed Oct 8 08:56:31 UTC 2025
Public bug reported:
[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.
We observed the following changes in the solver solutions:
- 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.
** Affects: apt (Ubuntu)
Importance: Undecided
Status: New
** Description changed:
[Impact]
As part of the solver evaluation we observed the following oops:
- https://errors.ubuntu.com/oops/6c8e32eb-665d-11f0-a985-fa163ec8ca8c
+ 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 change led to the following changes:
+ We observed the following changes in the solver solutions:
- 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.
--
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:
New
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.
We observed the following changes in the solver solutions:
- 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.
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