On Sat, Aug 10, 2024 at 10:05:32PM GMT, Vladimir K wrote: > Package: apt > Version: 2.9.7 > Severity: normal > > Dear Maintainer, the new solver tries to install packages that were not > requested > and are not considered by the old solver. > > A while ago it tried to install sq, gpgv-from-sq, gpgv-sq which break apt. > I blacklisted them via pinning. Today a set of packages was suggested for > installation > during routine upgrade: > > $ sudo apt full-upgrade --purge -V --fix-broken --auto-remove --solver > 3.0 > Installing dependencies: > gir1.2-evince-3.0 (46.3.1-1) > gir1.2-gtksource-4 (4.8.4-5+b2) > gir1.2-javascriptcoregtk-4.1 (2.44.2-1+b2) > gir1.2-soup-3.0 (3.5.2-1) > gir1.2-webkit2-4.1 (2.44.2-1+b2) > gjs (1.80.2-1) > gnome-sushi (46.0-1) > gstreamer1.0-gtk3 (1.24.6-1) > libcue2 (2.2.1-4.1+b1) > libexempi8 (2.6.5-1) > libgjs0g (1.80.2-1) > libgnome-autoar-0-0 (0.4.4-2+b2) > libgnome-desktop-4-2t64 (44.0-5) > libgtksourceview-4-0 (4.8.4-5+b2) > libgtksourceview-4-common (4.8.4-5) > libiptcdata0 (1.0.5-2.3) > libmozjs-115-0t64 (115.14.0-1) > libosinfo-1.0-0 (1.11.0-2+b1) > libosinfo-l10n (1.11.0-2) > libportal-gtk4-1 (0.7.1-5+b1) > libportal1 (0.7.1-5+b1) > libtotem-plparser-common (3.26.6-1) > libtotem-plparser18 (3.26.6-1+b2) > nautilus (46.2-3) > nautilus-data (46.2-3) > network-manager-strongswan (1.6.0-3+b1) > osinfo-db (0.20240701-1) > qt6-qpa-plugins (6.6.2+dfsg-11) > tracker (3.7.3-2) > tracker-extract (3.7.3-1) > tracker-miner-fs (3.7.3-1) > > Suggested packages: > eog (47~beta-1) > nautilus-extension-brasero > > I do not have gnome or any complete DE installed, none of those packages make > sense. > Blacklisting nautilus via pinning reduces the list down to > network-manager-strongswan > and qt6-qpa-plugins, which is a useful suggestion, but why does it happen?
These are all dependencies of some installed package, that are currently satisfied by another package which is considered obsolete. The calculation for obsolete packages is broken if you have a "newer" repository pinned between 100 and whatever the default repo is, like you have experimental pinned at 200. Basically if you have src:A producing AX and AY, AX is installed, then AX will always be obsolete if there is a newer experimental version, as AY/experimental will be considered the "source" candidate, and since "source" candidate > binary candidate that is taken as "package is no longer present in the latest upload. Fixing this is quite complex, there are two possible avenues to consider: 1. We can check if the binary actually still exists in the source candidate version. 2. We can calculate the source candidate to take into account the (highest) installed version, or rather when we can when looking at other binaries, check them against the binary we are trying to check is obsolete rather than figuring out the highest version. Potentially it's also falsely promoting the nautilus Suggests: gnome-sushi to Recommends, but I can't possibly comment on details as you failed to include either a solver debug log or preferably an EDSP dump to run the solver against. Please note that I might miss any replies as Gmail spam filter kicked out the bug report and I only saw it due to notifications on IRC but we don't have them on comments. -- debian developer - deb.li/jak | jak-linux.org - free software dev ubuntu core developer i speak de, en