[Aptitude-devel] Bug#1051923: aptitude: incorrect dependency resolution for ghostscript vs virtual package ghostscript-x

Vincent Lefevre vincent at vinc17.net
Thu Sep 14 09:41:28 BST 2023


Package: aptitude
Version: 0.8.13-5
Severity: normal

I have the following ghostscript-related packages installed:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                Version        Architecture Description
+++-===================-==============-============-===================================================================
ii  ghostscript         10.01.2~dfsg-1 amd64        interpreter for the PostScript language and for PDF
ii  ghostscript-doc     10.01.2~dfsg-1 all          interpreter for the PostScript language and for PDF - Documentation
ii  ghostscript-x:amd64 10.01.2~dfsg-1 amd64        transitional package for ghostscript
ii  libgs-common        10.01.2~dfsg-1 all          interpreter for the PostScript language and for PDF - ICC profiles
ii  libgs10:amd64       10.01.2~dfsg-1 amd64        interpreter for the PostScript language and for PDF - Library
ii  libgs10-common      10.01.2~dfsg-1 all          interpreter for the PostScript language and for PDF - common files

Version 10.02.0~dfsg-1 is available, but if I try '+' over "ghostscript"
in the aptitude TUI to ask for an upgrade of this package, I get:

iu  ghostscript                10.01.2~dfsg-1           10.02.0~dfsg-1
[...]
ghostscript (upgrade, 10.01.2~dfsg-1 -> 10.02.0~dfsg-1) will be upgraded from  ▒
version 10.01.2~dfsg-1 to version 10.02.0~dfsg-1.                              ▒
                                                                               ▒
The following packages depend on version 10.01.2~dfsg-1 of ghostscript, and    ▒
will be broken if it is upgraded.                                              ▒
                                                                               ▒
  * ghostscript-x (held/unchanged, 10.01.2~dfsg-1) depends on ghostscript (=   ▒
    10.01.2~dfsg-1) (provided by ghostscript:i386 10.01.2~dfsg-1)              ▒

though ghostscript:i386 isn't installed; so, this doesn't make sense.
Since ghostscript-x is now provided by ghostscript, aptitude should
have proposed to remove this package as it would still be there as a
virtual package.

Package: ghostscript
Version: 10.02.0~dfsg-1
Installed-Size: 180
Maintainer: Debian QA Group <packages at qa.debian.org>
Architecture: amd64
Provides: ghostscript-x (= 10.02.0~dfsg-1), postscript-viewer
          ^^^^^^^^^^^^^

and in the ghostscript changelog:

ghostscript (10.02.0~dfsg-1) unstable; urgency=medium
[...]
  * drop obsolete binary packages ghostscript-x libgs9-common;
    have binary package ghostscript provide ghostscript-x

Note that I have:

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

And from the command line:

# aptitude install ghostscript
The following packages will be upgraded: 
  ghostscript ghostscript-doc libgs-common libgs10 libgs10-common 
5 packages upgraded, 0 newly installed, 0 to remove and 59 not upgraded.
Need to get 14.8 MB of archives. After unpacking 335 kB will be freed.
The following packages have unmet dependencies:
 ghostscript-x : Depends: ghostscript (= 10.01.2~dfsg-1) but 10.02.0~dfsg-1 is to be installed
The following actions will resolve these dependencies:

     Keep the following packages at their current version:     
1)     ghostscript [10.01.2~dfsg-1 (now, testing)]             
2)     libgs10 [10.01.2~dfsg-1 (now, testing)]                 
3)     libgs10-common [10.01.2~dfsg-1 (now, testing, unstable)]

Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

     Remove the following packages:                           
1)     ghostscript-x [10.01.2~dfsg-1 (now, testing, unstable)]

Note that this solution would be OK only because ghostscript-x will
become a virtual package, but aptitude doesn't give this information,
so that this is misleading.

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

aptitude version information:
aptitude 0.8.13
Compiler: g++ 12.1.0
Compiled against:
  apt version 6.0.0
  NCurses version 6.3
  libsigc++ version: 2.10.8
  Gtk+ support disabled.
  Qt support disabled.

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

aptitude linkage:
	linux-vdso.so.1 (0x00007fffc21a2000)
	libgtk3-nocsd.so.0 => /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 (0x00007f37ec46d000)
	libapt-pkg.so.6.0 => /usr/lib/x86_64-linux-gnu/libapt-pkg.so.6.0 (0x00007f37ebc00000)
	libncursesw.so.6 => /lib/x86_64-linux-gnu/libncursesw.so.6 (0x00007f37ec434000)
	libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f37ebfcb000)
	libsigc-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0 (0x00007f37ec42b000)
	libcwidget.so.4 => /usr/lib/x86_64-linux-gnu/libcwidget.so.4 (0x00007f37ebed9000)
	libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f37eba93000)
	libboost_iostreams.so.1.74.0 => /usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.74.0 (0x00007f37ebec1000)
	libxapian.so.30 => /usr/lib/x86_64-linux-gnu/libxapian.so.30 (0x00007f37eb800000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f37ec424000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f37eb400000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f37eb721000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f37ebe9d000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f37eb21e000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f37ec41d000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f37ebe7e000)
	libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f37ebe6b000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f37ebe3b000)
	liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f37eba6d000)
	libzstd.so.1 => /usr/lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f37eb661000)
	libudev.so.1 => /usr/lib/x86_64-linux-gnu/libudev.so.1 (0x00007f37eba3b000)
	libsystemd.so.0 => /usr/lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f37eb140000)
	libgcrypt.so.20 => /usr/lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f37eaffa000)
	libxxhash.so.0 => /usr/lib/x86_64-linux-gnu/libxxhash.so.0 (0x00007f37ebe28000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f37ec49a000)
	libuuid.so.1 => /usr/lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f37ebe1e000)
	libcap.so.2 => /lib/x86_64-linux-gnu/libcap.so.2 (0x00007f37eafee000)
	libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f37eafc6000)

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

Kernel: Linux 6.4.0-4-amd64 (SMP w/12 CPU threads; PREEMPT)
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-5
ii  libapt-pkg6.0             2.7.3
ii  libboost-iostreams1.74.0  1.74.0+ds1-22
ii  libc6                     2.37-8
ii  libcwidget4               0.5.18-6
ii  libgcc-s1                 13.2.0-4
ii  libncursesw6              6.4+20230625-2
ii  libsigc++-2.0-0v5         2.12.0-1
ii  libsqlite3-0              3.43.1-1
ii  libstdc++6                13.2.0-4
ii  libtinfo6                 6.4+20230625-2
ii  libxapian30               1.4.22-1

Versions of packages aptitude recommends:
ii  libdpkg-perl    1.22.0
ii  sensible-utils  0.0.20

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

-- 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)



More information about the Aptitude-devel mailing list