#1053186 apt dist-upgrade wants to remove manually installed packages

Package:
apt
Source:
apt
Description:
commandline package manager
Submitter:
Witold Baryluk
Date:
2023-09-29 08:27:02 UTC
Severity:
normal
#1053186#5
Date:
2023-09-28 23:31:56 UTC
From:
To:
Hi.

Happens in 2.7.3 and 2.7.6

When on testing and unstable.  (as of this writing)

root@debian:~# apt dist-upgrade  --purge  -V
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
   erlang-dev (1:25.2.3+dfsg-1)
   erlang-dialyzer (1:25.2.3+dfsg-1)
   erlang-diameter (1:25.2.3+dfsg-1)
   erlang-edoc (1:25.2.3+dfsg-1)
   erlang-erl-docgen (1:25.2.3+dfsg-1)
   erlang-eunit (1:25.2.3+dfsg-1)
   erlang-examples (1:25.2.3+dfsg-1)
   erlang-jinterface (1:25.2.3+dfsg-1)
   erlang-megaco (1:25.2.3+dfsg-1)
   erlang-mode (1:25.2.3+dfsg-1)
   erlang-odbc (1:25.2.3+dfsg-1)
   erlang-src (1:25.2.3+dfsg-1)
   erlang-ssh (1:25.2.3+dfsg-1)
   gir1.2-javascriptcoregtk-4.0 (2.42.0-1)
   gir1.2-javascriptcoregtk-6.0 (2.42.0-1)
   libaom-dev (3.7.0~really3.6.1-1)
   libcld2-0 (0.0.0-git20150806-9)
   libcolord-gtk1 (0.3.0-4)
   libcpprest2.10 (2.10.18-1+b1)
   libdav1d-dev (1.2.1-2)
   libde265-dev (1.0.12-2)
   libheif-dev (1.16.2-2+b1)
   libjavascriptcoregtk-6.0-1 (2.42.0-1)
   liblucene++0v5 (3.0.8-8)
   libosmgpsmap-1.0-1 (1.2.0-2)
   libvpx-dev (1.12.0-1)
   poedit-common (3.3.2-2)
   python3-arrow (1.2.3-1)
   python3-listparser (0.18-3)
   python3-readability (0.8.1+dfsg1-3)
   python3-syndom (1.0-2)
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
   darktable* (4.4.2-1)
   erlang* (1:25.2.3+dfsg-1)
   erlang-common-test* (1:25.2.3+dfsg-1)
   erlang-debugger* (1:25.2.3+dfsg-1)
   erlang-et* (1:25.2.3+dfsg-1)
   erlang-observer* (1:25.2.3+dfsg-1)
   erlang-reltool* (1:25.2.3+dfsg-1)
   erlang-wx* (1:25.2.3+dfsg-1)
   gir1.2-webkit-6.0* (2.42.0-1)
   gir1.2-webkit2-4.0* (2.42.0-1)
   gnome* (1:44+1)
   gnome-calendar* (45.0-1)
   gnome-feeds* (2.2.0-2)
   gnome-initial-setup* (45.0-1)
   kimageformat-plugins* (5.107.0-3)
   libavif-dev* (0.11.1-3+b1)
   libedataserverui4-1.0-0* (3.50.0-1)
   libgd-dev* (2.3.3-9)
   libwebkit2gtk-4.0-37* (2.42.0-1)
   libwebkitgtk-6.0-4* (2.42.0-1)
   libwxgtk-webview3.2-1* (3.2.2+dfsg-4)
   network-manager-openconnect-gnome* (1.2.10-1)
   poedit* (3.3.2-2)
   rebar* (2.6.4-3)
The following packages have been kept back:
   gnuradio (3.10.5.1-3 => 3.10.7.0-3+b2)
   gnuradio-dev (3.10.5.1-3 => 3.10.7.0-3+b2)
   libavif15 (0.11.1-3 => 0.11.1-3+b1)
   libavif15:i386 (0.11.1-3 => 0.11.1-3+b1)
   libomp-dev (1:14.0-55.7 => 1:16.0-57)
   lldb (1:14.0-55.7 => 1:16.0-57)
   svt-av1 (1.6.0+dfsg-1 => 1.7.0+dfsg-2)
The following packages will be upgraded:
   libmpfr6 (4.2.0-1 => 4.2.1-1)
   librados2 (16.2.11+ds-2 => 16.2.11+ds-3)
   librbd1 (16.2.11+ds-2 => 16.2.11+ds-3)
3 upgraded, 0 newly installed, 24 to remove and 7 not upgraded.
Need to get 6,494 kB of archives.
After this operation, 213 MB disk space will be freed.
Do you want to continue? [Y/n]



It is trying to remove erlang, gnome, dartkable, and few more programs
that were installed explicitly.

I fail to see why it is trying to do so.

Regards,
Witold

#1053186#10
Date:
2023-09-29 08:25:34 UTC
From:
To:
Control: severity -1 wishlist

The solver does not distinguish between manually and automatically
installed packages. I'm trying to find the time to write a new solver
from scratch because essentially if you dare touch that it's going
to explode in other bits, but I can't make any promises. You can
track work in

https://salsa.debian.org/apt-team/solver3

Like consider you installed foo manually and it got renamed bar, you
want to remove foo and install bar when you upgrade. But if you try to
teach that to apt's existing solver it will go fail in all sorts of
hilarious places because it's 30 year spaghetti code that's not
capable of running with that many restrictions.