[Bug 1974456] Re: regression: apt.postint fails if never previously configured
Julian Andres Klode
1974456 at bugs.launchpad.net
Mon Aug 8 13:24:20 UTC 2022
Verified.
For bionic I ran
mmdebstrap -v --keyring /usr/share/keyrings/ubuntu-archive-keyring.gpg
--aptopt='Acquire::http::proxy "http://localhost:8000/";' bionic bionic-
proposed http://archive.ubuntu.com/ubuntu 'deb
http://archive.ubuntu.com/ubuntu/ bionic-proposed main'
to enable proposed and this succeeded with
Setting up apt (1.6.16) ...
** Tags removed: verification-needed verification-needed-bionic
** Tags added: verification-done verification-done-bionic
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/1974456
Title:
regression: apt.postint fails if never previously configured
Status in apt package in Ubuntu:
Confirmed
Status in apt source package in Bionic:
Fix Committed
Status in apt source package in Focal:
Fix Released
Bug description:
[Impact]
bootstrapping a system with apt that fixes #1968154 fails in focal and bionic, as they try to execute the config file that is being removed.
This is not a problem on updates, only on new installs, so impact is
limited to bootstrapping tools that enable -updates, such as
mmdebstrap.
[Test case]
bootstrapping with -updates enabled can easily be tested with
mmdebstrap:
mmdebstrap -v focal ~/Projects/Ubuntu/Scratch/focal
for example, on focal:
Setting up apt (2.0.8) ...
/var/lib/dpkg/info/apt.postinst: 65: /etc/kernel/postinst.d/apt-auto-removal: not found
dpkg: error processing package apt (--configure):
installed apt package post-installation script subprocess returned error exit status 127
[Regression potential]
We remove 5 lines from the shell postinst script, there could be syntax errors? But then we'd see those during upgrades, so practically none.
[Original bug report]
#1968154 removed `/etc/kernel/postinst.d/apt-auto-removal` in this patch:
https://git.launchpad.net/ubuntu/+source/apt/commit/?id=f9d2d993687c0d5223c241956ef6a0aabcf15bf0
...but `apt.postinst` still tries to run it:
# create kernel autoremoval blacklist on update
if dpkg --compare-versions "$2" lt 0.9.9.3; then
/etc/kernel/postinst.d/apt-auto-removal
fi
If I understand correctly, "$2" is the most-recently-configured-
version, and if it's empty `dpkg --compare-versions lt` will evaluate
to true.
This fails when I'm building a focal (20.04) userspace from scratch:
$ dpkg --configure -a
[...]
Setting up apt (2.0.8) ...
/var/lib/dpkg/info/apt.postinst: 65: /etc/kernel/postinst.d/apt-auto-removal: not found
dpkg: error processing package apt (--configure):
installed apt package post-installation script subprocess returned error exit status 127
It works with apt 2.0.6.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1974456/+subscriptions
More information about the foundations-bugs
mailing list