[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



Control: severity -1 wishlist

On Thu, Sep 28, 2023 at 11:31:56PM +0000, Witold Baryluk wrote:
> Package: apt
> Version: 2.7.3
> Severity: important
> X-Debbugs-Cc: witold.baryluk@gmail.com
> 
> 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.

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.

-- 
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer                              i speak de, en


Reply to: