0

I'm trying to understand how aptitude works. I've downloaded all dependencies of a package (afaik all, by substituting empty dpkg status file). Later after substituting back current status file of the system when installing the package I saw apt install tries to download a package that was listed in suggested when I downloaded all dependencies. Suggested is later in list of packages to be upgraded when apt/apt-get was run w/out options.

How could such thing happen? I did tests as above for some packages before and had no need for suggested, so seems it is rare occurrence. I want to understand details of this case, how can I investigate? (I've run dpkg -s and "suggested" one is shown as installed, what else?). The package name, btw is kdenlive and one of "initially" suggested is poppler-utils.

I don't want to disable upgrades completely, I just don't want to upgrade suggested ones.

~$ aptitude why kdenlive poppler-utils
p   kdenlive               Depends    libkf5filemetadata3 (>= 5.0.2+git20140925)
p   libkf5filemetadata3    Recommends libkf5filemetadata-bin (= 5.92.0-0ubuntu1)
p   libkf5filemetadata-bin Depends    libpoppler-qt5-1 (>= 0.46.0)              
p   libpoppler-qt5-1       Depends    libpoppler118 (= 22.02.0-2ubuntu0.2)      
p   libpoppler118          Recommends poppler-data                              
i   poppler-data           Suggests   poppler-utils 
Martian2020
  • 1,167

1 Answers1

1

This typically happens because the suggested package is already installed (as seems to be the case here) and one of the other upgraded packages means it needs to be upgraded too.

For poppler-utils, this can happen if the corresponding libpoppler package is upgraded: poppler-utils has a strong dependency on the same version of libpoppler. Thus, if libpoppler (libpoppler102 in Debian 11, libpoppler126 in Debian 12) is upgraded, poppler-utils has to be upgraded alongside it.

To investigate this, look at aptitude why kdenlive poppler-utils and apt show poppler-utils. It might help to run apt upgrade with -oDebug::pkgProblemResolver=yes (this might explain why poppler-utils is added to the upgrade set).

Bear in mind that weak dependencies (“Recommends” and “Suggests”) only determine what happens when packages are installed and removed. Once a package is installed, it has to be managed like all other installed packages; it isn’t necessarily possible to upgrade “suggested” packages later — the fact that they’re only suggested no longer matters.

Stephen Kitt
  • 434,908
  • aptitude why is new command to me, thanks. I've added its output to the question. at the end Suggests poppler-utils. It seems I'm back to original Q: if only suggests, why is it upgraded? – Martian2020 Oct 26 '23 at 15:28
  • Although you answered that by "poppler-utils has a strong dependency on the same version of libpoppler", correct? Though aptitude why does not show that. Any "automated" way to see? – Martian2020 Oct 26 '23 at 15:32
  • apt show poppler-utils shows the strong dependency with a specific version. – Stephen Kitt Oct 26 '23 at 15:33
  • Took me longer to understand its applicability. Any way to see it automated way? aptitude why does not show that. – Martian2020 Oct 26 '23 at 15:34
  • See the updated answer. – Stephen Kitt Oct 26 '23 at 15:44