Acknowledgement sent
to Johannes Schauer Marin Rodrigues <[email protected]>:
New Bug report received and forwarded. Copy sent to APT Development Team <[email protected]>.
(Thu, 30 May 2024 14:33:03 GMT) (full text, mbox, link).
Package: apt
Version: 2.6.1
Severity: wishlist
Control: affects -1 + mmdebstrap
Hi David,
do you remember our conversation in #debian-dpkg from 2018?
} elsif ($options->{variant} eq 'apt') {
# if we just want to install Essential:yes packages, apt and their
# dependencies then we can make use of libapt treating apt as
# implicitly essential. An upgrade with the (currently) empty status
# file will trigger an installation of the essential packages plus apt.
#
# 2018-09-02, #debian-dpkg on OFTC, times in UTC+2
# 23:39 < josch> I'll just put it in my script and if it starts
# breaking some time I just say it's apt's fault. :P
# 23:42 < DonKult> that is how it usually works, so yes, do that :P (<-
# and please add that line next to it so you can
# remind me in 5+ years that I said that after I wrote
# in the bugreport: "Are you crazy?!? Nobody in his
# right mind would even suggest depending on it!")
@dl_debs = run_apt_download_progress({
APT_ARGV => ['dist-upgrade'],
dryrun => $options->{dryrun},
},
);
Well, it is now even six years later. It is time!
The problem first showed up yesterday in the sbuild autopkgtest for riscv:
https://ci.debian.net/data/autopkgtest/testing/riscv64/s/sbuild/47087233/log.gz
Log is also attached for when it gets deleted from ci.d.n but the important
bits are these:
MarkInstall util-linux:riscv64 < none -> 2.40.1-2 @un uN Ib > FU=0
Installing libblkid1:riscv64 as PreDepends of util-linux:riscv64
MarkInstall libblkid1:riscv64 < none -> 2.40.1-2 @un uN > FU=0
Installing libcap-ng0:riscv64 as PreDepends of util-linux:riscv64
MarkInstall libcap-ng0:riscv64 < none -> 0.8.5-1 @un uN > FU=0
Installing libcrypt1:riscv64 as PreDepends of util-linux:riscv64
MarkInstall libcrypt1:riscv64 < none -> 1:4.4.36-4 @un uN > FU=0
Installing libmount1:riscv64 as PreDepends of util-linux:riscv64
MarkInstall libmount1:riscv64 < none -> 2.40.1-2 @un uN > FU=0
Installing libpam0g:riscv64 as PreDepends of util-linux:riscv64
MarkInstall libpam0g:riscv64 < none -> 1.5.3-7 @un uN Ib > FU=0
Installing libaudit1:riscv64 as Depends of libpam0g:riscv64
libaudit1:riscv64 Depends on libaudit-common:riscv64 < none | 1:3.1.2-2 @un uH > (>= 1:3.1.2-2.1) can't be satisfied!
libpam0g:riscv64 Depends on libaudit1:riscv64 < none @un H > (>= 1:2.2.1) can't be satisfied! (dep)
util-linux:riscv64 PreDepends on libpam0g:riscv64 < none @un H > (>= 0.99.7.1) can't be satisfied! (dep)
[...]
Setting up usrmerge (39) ...
Can't exec "mountpoint": No such file or directory at /usr/lib/usrmerge/convert-usrmerge line 431.
Failed to execute mountpoint -q /lib/modules/: No such file or directory
E: usrmerge failed.
dpkg: error processing package usrmerge (--install):
installed usrmerge package post-installation script subprocess returned error exit status 1
Because apt decides not to install util-linux, the usrmerge postinst fails.
This all boils down to mmdebstrap using the funny "apt dist-upgrade" trick to
let apt choose all the Essential:yes packages plus itself for the mmdebstrap
"apt" chroot variant.
How hard would it be to let apt dist-upgrade fail if it is unable to install an
Essential:yes package?
This bug is certainly wishlist and might as well be marked as wontfix without
much value being lost. But I thought that given your comment back in 2018
including your spot-on prediction (only off by one year!) I should absolutely
share this with you. :)
Thanks!
cheers, josch