[Aptitude-devel] Bug#979741: aptitude: silently breaks unsatisfiable versioned "Recommends:" when upgrading a package

Vincent Lefevre vincent at vinc17.net
Sun Jan 10 23:44:22 GMT 2021


Package: aptitude
Version: 0.8.13-2+b1
Severity: important

On some machine, when upgrading packages from the TUI, two packages were
automatically selected for removal (libcompress-raw-lzma-perl:amd64,
libio-compress-lzma-perl:amd64). I thought that this was because they
were no longer used, as usual (since I hadn't got any warning), and I
proceeded.

But then I wondered why some Perl module was no longer available.
So I looked at libio-compress-perl, which got upgraded, and I saw:

Depends: perl:any, libcompress-raw-bzip2-perl (>= 2.100), libcompress-raw-zlib-perl (>= 2.100)
Recommends: libio-compress-lzma-perl (>= 2.100)

So it still recommends libio-compress-lzma-perl, and this recommendation
has silently been broken!

--------

Now, on this machine, where I haven't upgraded yet, I can reproduce
the bug:

cventin:~> aptitude install -s libio-compress-perl
The following packages will be REMOVED:
  libcompress-raw-lzma-perl{u} libio-compress-lzma-perl{u}
The following packages will be upgraded:
  libcompress-raw-bzip2-perl libcompress-raw-zlib-perl libio-compress-perl
3 packages upgraded, 0 newly installed, 2 to remove and 241 not upgraded.
Need to get 321 kB of archives. After unpacking 373 kB will be freed.

and ditto from the TUI when I type '+' over libio-compress-perl,
then 'g' (no warnings).

cventin:~> apt-show-versions -a libio-compress-perl
libio-compress-perl:all 2.096-1 install ok installed
libio-compress-perl:all 2.084-1 stable   ftp.fr.debian.org
No stable-updates version
libio-compress-perl:all 2.096-1 testing  ftp.fr.debian.org
libio-compress-perl:all 2.100-1 unstable ftp.fr.debian.org
No experimental version
libio-compress-perl:all/testing 2.096-1 upgradeable to 2.100-1

cventin:~> apt-show-versions -a libio-compress-lzma-perl
libio-compress-lzma-perl:all 2.096-1 install ok installed
libio-compress-lzma-perl:all 2.084-1 stable   ftp.fr.debian.org
No stable-updates version
libio-compress-lzma-perl:all 2.096-1 testing  ftp.fr.debian.org
libio-compress-lzma-perl:all 2.096-1 unstable ftp.fr.debian.org
No experimental version
libio-compress-lzma-perl:all/testing 2.096-1 uptodate

and the dependencies:

Package: libio-compress-perl
Version: 2.096-1
Installed-Size: 873
Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
Architecture: all
Depends: perl:any, libcompress-raw-bzip2-perl (>= 2.096), libcompress-raw-zlib-perl (>= 2.096)
Recommends: libio-compress-lzma-perl (>= 2.096)

Package: libio-compress-perl
Version: 2.100-1
Installed-Size: 874
Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
Architecture: all
Depends: perl:any, libcompress-raw-bzip2-perl (>= 2.100), libcompress-raw-zlib-perl (>= 2.100)
Recommends: libio-compress-lzma-perl (>= 2.100)

cventin:~> aptitude why libio-compress-lzma-perl
i   libnet-async-http-perl Recommends libcompress-bzip2-perl
i A libcompress-bzip2-perl Recommends libio-compress-perl (>= 2.094)
i A libio-compress-perl    Recommends libio-compress-lzma-perl (>= 2.096)

Note that libio-compress-lzma-perl 2.100 is not available yet,
which may be the cause of the bug.

I have the following settings:

Aptitude::UI::Package-Display-Format "%c%a%M %p %Z %24v %24V";

Aptitude::UI::Styles {
  // Add bold to avoid a readability issue.
  SolutionActionApproved { fg white; bg green; set bold; };
};

Aptitude::ProblemResolver::SolutionCost "safety, removals";

-- Package-specific info:
Terminal: xterm-256color
$DISPLAY is set.
which aptitude: /usr/bin/aptitude

aptitude version information:
aptitude 0.8.13
Compiler: g++ 10.2.1 20201207
Compiled against:
  apt version 6.0.0
  NCurses version 6.2
  libsigc++ version: 2.10.4
  Gtk+ support disabled.
  Qt support disabled.

Current library versions:
  NCurses version: ncurses 6.2.20201114
  cwidget version: 0.5.18
  Apt version: 6.0.0

aptitude linkage:
	linux-vdso.so.1 (0x00007ffd997f7000)
	libapt-pkg.so.6.0 => /usr/lib/x86_64-linux-gnu/libapt-pkg.so.6.0 (0x00007f04e6550000)
	libncursesw.so.6 => /lib/x86_64-linux-gnu/libncursesw.so.6 (0x00007f04e6515000)
	libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f04e64e6000)
	libsigc-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0 (0x00007f04e64dd000)
	libcwidget.so.4 => /usr/lib/x86_64-linux-gnu/libcwidget.so.4 (0x00007f04e63d7000)
	libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f04e6294000)
	libboost_iostreams.so.1.74.0 => /usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.74.0 (0x00007f04e6279000)
	libxapian.so.30 => /usr/lib/x86_64-linux-gnu/libxapian.so.30 (0x00007f04e6057000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f04e6035000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f04e5e68000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f04e5d24000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f04e5d0a000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f04e5b43000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f04e5b29000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f04e5b0c000)
	libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f04e5af9000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f04e5ad1000)
	liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f04e5aae000)
	libzstd.so.1 => /usr/lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f04e59d1000)
	libudev.so.1 => /usr/lib/x86_64-linux-gnu/libudev.so.1 (0x00007f04e59a9000)
	libsystemd.so.0 => /usr/lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f04e58f4000)
	libgcrypt.so.20 => /usr/lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f04e57d4000)
	libxxhash.so.0 => /usr/lib/x86_64-linux-gnu/libxxhash.so.0 (0x00007f04e57c8000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f04e6b9e000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f04e57c2000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f04e57b5000)
	libuuid.so.1 => /usr/lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f04e57ac000)
	libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f04e5786000)

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-1-amd64 (SMP w/12 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=POSIX, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages aptitude depends on:
ii  aptitude-common           0.8.13-2
ii  libapt-pkg6.0             2.1.16
ii  libboost-iostreams1.74.0  1.74.0-7
ii  libc6                     2.31-9
ii  libcwidget4               0.5.18-5
ii  libgcc-s1                 10.2.1-3
ii  libncursesw6              6.2+20201114-2
ii  libsigc++-2.0-0v5         2.10.4-2
ii  libsqlite3-0              3.34.0-1
ii  libstdc++6                10.2.1-3
ii  libtinfo6                 6.2+20201114-2
ii  libxapian30               1.4.17-1

Versions of packages aptitude recommends:
ii  libdpkg-perl    1.20.7.1
ii  sensible-utils  0.0.12+nmu1

Versions of packages aptitude suggests:
pn  apt-xapian-index                <none>
ii  aptitude-doc-en [aptitude-doc]  0.8.13-2
pn  debtags                         <none>
ii  tasksel                         3.62

-- no debconf information

-- 
Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pkgstates.xz
Type: application/octet-stream
Size: 935512 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/aptitude-devel/attachments/20210111/7c32de18/attachment-0001.obj>


More information about the Aptitude-devel mailing list