Package: init-system-helpers Version: 1.65.2 Severity: serious User: debian...@lists.debian.org Usertags: piuparts Control: affects -1 e2fsprogs
Hi, many piuparts bullseye2bookworm tests are curently failing with 0m50.4s ERROR: FAIL: After purging files have disappeared: /etc/systemd/system/multi-user.target.wants/ not owned /etc/systemd/system/multi-user.target.wants/e2scrub_reap.service -> /lib/systemd/system/e2scrub_reap.service not owned This is a new systemd unit in package e2fsprogs. If this failure is actually e2fsprogs's fault by incorrectly using the helpers, please reassign the bug there (with instructions how to do it correctly). The following happens before the bug manifests. Piupart generally uses --no-install-recommends, but that does not seem to have an influence here. The minimal bullseye chroot used by piuparts contains e2fsprogs but not systemd. If I upgrade that chroot to bookworm, /etc/systemd/system/multi-user.target.wants/e2scrub_reap.service -> /lib/systemd/system/e2scrub_reap.service gets created. e2fsprogs is still installed, systemd is still not installed. If I install systemd into the bullseye chroot and upgrade that to bookworm, both systemd and e2fsprogs are still installed, but /etc/systemd/system/multi-user.target.wants/e2scrub_reap.service does *NOT* get created. piuparts then removes the tested packages and their deps from the chroot and compares the result against the upgraded reference chroot. I added some debug code to e2fsprogs.postinst (set -x, _DEB_SYSTEMD_HELPER_DEBUG=1, listing multi-user.target.wants), and used that version during the dist-upgrade, but there was no significant difference in output between the two upgrade paths: ===== upgrade without systemd ===== Setting up e2fsprogs (1.47.0-2+deb12anbe1) ... Installing new version of config file /etc/mke2fs.conf ... + set -e + [ -x /usr/sbin/update-initramfs -a -e /etc/initramfs-tools/initramfs.conf ] + export _DEB_SYSTEMD_HELPER_DEBUG=1 + ls -la /etc/systemd/system/multi-user.target.wants ls: cannot access '/etc/systemd/system/multi-user.target.wants': No such file or directory + true + [ configure = configure ] + deb-systemd-helper unmask e2scrub_all.timer (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = unmask, scriptname = e2scrub_all.timer, service_path = /lib/systemd/system/e2scrub_all.timer (deb-systemd-helper DEBUG) rmdir_if_empty /var/lib/systemd/deb-systemd-helper-masked (deb-systemd-helper DEBUG) rmdir(/var/lib/systemd/deb-systemd-helper-masked) failed (No such file or directory) (deb-systemd-helper DEBUG) rmdir_if_empty /var/lib/systemd/deb-systemd-user-helper-masked (deb-systemd-helper DEBUG) rmdir(/var/lib/systemd/deb-systemd-user-helper-masked) failed (No such file or directory) + deb-systemd-helper --quiet was-enabled e2scrub_all.timer (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = was-enabled, scriptname = e2scrub_all.timer, service_path = /lib/systemd/system/e2scrub_all.timer (deb-systemd-helper DEBUG) Reading state file /var/lib/systemd/deb-systemd-helper-enabled/e2scrub_all.timer.dsh-also (deb-systemd-helper DEBUG) Contents: $VAR1 = [ '/etc/systemd/system/timers.target.wants/e2scrub_all.timer' ]; (deb-systemd-helper DEBUG) All links present, considering e2scrub_all.timer was-enabled. + deb-systemd-helper enable e2scrub_all.timer (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = enable, scriptname = e2scrub_all.timer, service_path = /lib/systemd/system/e2scrub_all.timer (deb-systemd-helper DEBUG) Renaming temp file /var/lib/systemd/deb-systemd-helper-enabled/.statedbM8J.tmp to state file /var/lib/systemd/deb-systemd-helper-enabled/e2scrub_all.timer.dsh-also + [ configure = configure ] + deb-systemd-helper unmask e2scrub_reap.service (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = unmask, scriptname = e2scrub_reap.service, service_path = /lib/systemd/system/e2scrub_reap.service (deb-systemd-helper DEBUG) rmdir_if_empty /var/lib/systemd/deb-systemd-helper-masked (deb-systemd-helper DEBUG) rmdir(/var/lib/systemd/deb-systemd-helper-masked) failed (No such file or directory) (deb-systemd-helper DEBUG) rmdir_if_empty /var/lib/systemd/deb-systemd-user-helper-masked (deb-systemd-helper DEBUG) rmdir(/var/lib/systemd/deb-systemd-user-helper-masked) failed (No such file or directory) + deb-systemd-helper --quiet was-enabled e2scrub_reap.service (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = was-enabled, scriptname = e2scrub_reap.service, service_path = /lib/systemd/system/e2scrub_reap.service (deb-systemd-helper DEBUG) Reading state file /var/lib/systemd/deb-systemd-helper-enabled/e2scrub_reap.service.dsh-also (deb-systemd-helper DEBUG) Contents: $VAR1 = [ '/etc/systemd/system/default.target.wants/e2scrub_reap.service' ]; (deb-systemd-helper DEBUG) All links present, considering e2scrub_reap.service was-enabled. + deb-systemd-helper enable e2scrub_reap.service (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = enable, scriptname = e2scrub_reap.service, service_path = /lib/systemd/system/e2scrub_reap.service (deb-systemd-helper DEBUG) Renaming temp file /var/lib/systemd/deb-systemd-helper-enabled/.state7t5xW.tmp to state file /var/lib/systemd/deb-systemd-helper-enabled/e2scrub_reap.service.dsh-also + [ configure = configure ] + [ -d /run/systemd/system ] + ls -la /etc/systemd/system/multi-user.target.wants total 0 drwxr-xr-x 2 root root 60 May 5 07:15 . drwxr-xr-x 5 root root 100 May 5 07:15 .. lrwxrwxrwx 1 root root 40 May 5 07:15 e2scrub_reap.service -> /lib/systemd/system/e2scrub_reap.service + exit 0 ========== ===== upgrade with systemd ===== Setting up e2fsprogs (1.47.0-2+deb12anbe1) ... Installing new version of config file /etc/mke2fs.conf ... + set -e + [ -x /usr/sbin/update-initramfs -a -e /etc/initramfs-tools/initramfs.conf ] + export _DEB_SYSTEMD_HELPER_DEBUG=1 + ls -la /etc/systemd/system/multi-user.target.wants total 0 drwxr-xr-x 2 root root 60 May 5 07:15 . drwxr-xr-x 7 root root 140 May 5 07:15 .. lrwxrwxrwx 1 root root 36 May 5 07:15 remote-fs.target -> /lib/systemd/system/remote-fs.target + [ configure = configure ] + deb-systemd-helper unmask e2scrub_all.timer (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = unmask, scriptname = e2scrub_all.timer, service_path = /lib/systemd/system/e2scrub_all.timer (deb-systemd-helper DEBUG) rmdir_if_empty /var/lib/systemd/deb-systemd-helper-masked (deb-systemd-helper DEBUG) rmdir(/var/lib/systemd/deb-systemd-helper-masked) failed (No such file or directory) (deb-systemd-helper DEBUG) rmdir_if_empty /var/lib/systemd/deb-systemd-user-helper-masked (deb-systemd-helper DEBUG) rmdir(/var/lib/systemd/deb-systemd-user-helper-masked) failed (No such file or directory) + deb-systemd-helper --quiet was-enabled e2scrub_all.timer (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = was-enabled, scriptname = e2scrub_all.timer, service_path = /lib/systemd/system/e2scrub_all.timer (deb-systemd-helper DEBUG) Reading state file /var/lib/systemd/deb-systemd-helper-enabled/e2scrub_all.timer.dsh-also (deb-systemd-helper DEBUG) Contents: $VAR1 = [ '/etc/systemd/system/timers.target.wants/e2scrub_all.timer' ]; (deb-systemd-helper DEBUG) All links present, considering e2scrub_all.timer was-enabled. + deb-systemd-helper enable e2scrub_all.timer (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = enable, scriptname = e2scrub_all.timer, service_path = /lib/systemd/system/e2scrub_all.timer (deb-systemd-helper DEBUG) Renaming temp file /var/lib/systemd/deb-systemd-helper-enabled/.staterx1xW.tmp to state file /var/lib/systemd/deb-systemd-helper-enabled/e2scrub_all.timer.dsh-also + [ configure = configure ] + deb-systemd-helper unmask e2scrub_reap.service (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = unmask, scriptname = e2scrub_reap.service, service_path = /lib/systemd/system/e2scrub_reap.service (deb-systemd-helper DEBUG) rmdir_if_empty /var/lib/systemd/deb-systemd-helper-masked (deb-systemd-helper DEBUG) rmdir(/var/lib/systemd/deb-systemd-helper-masked) failed (No such file or directory) (deb-systemd-helper DEBUG) rmdir_if_empty /var/lib/systemd/deb-systemd-user-helper-masked (deb-systemd-helper DEBUG) rmdir(/var/lib/systemd/deb-systemd-user-helper-masked) failed (No such file or directory) + deb-systemd-helper --quiet was-enabled e2scrub_reap.service (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = was-enabled, scriptname = e2scrub_reap.service, service_path = /lib/systemd/system/e2scrub_reap.service (deb-systemd-helper DEBUG) Reading state file /var/lib/systemd/deb-systemd-helper-enabled/e2scrub_reap.service.dsh-also (deb-systemd-helper DEBUG) Contents: $VAR1 = [ '/etc/systemd/system/default.target.wants/e2scrub_reap.service' ]; (deb-systemd-helper DEBUG) All links present, considering e2scrub_reap.service was-enabled. + deb-systemd-helper enable e2scrub_reap.service (deb-systemd-helper DEBUG) is purge = no (deb-systemd-helper DEBUG) action = enable, scriptname = e2scrub_reap.service, service_path = /lib/systemd/system/e2scrub_reap.service (deb-systemd-helper DEBUG) Renaming temp file /var/lib/systemd/deb-systemd-helper-enabled/.stateHcfa1.tmp to state file /var/lib/systemd/deb-systemd-helper-enabled/e2scrub_reap.service.dsh-also + [ configure = configure ] + [ -d /run/systemd/system ] + ls -la /etc/systemd/system/multi-user.target.wants total 0 drwxr-xr-x 2 root root 60 May 5 07:15 . drwxr-xr-x 7 root root 140 May 5 07:15 .. lrwxrwxrwx 1 root root 36 May 5 07:15 remote-fs.target -> /lib/systemd/system/remote-fs.target + exit 0 ========== I tried varying the upgrade order (in the normal upgrade path e2fsprogs got configured while the new systemd was unpacked but not yet configured), but that didn't change the outcome. I tried installing the new systemd first, then performing the dist-upgrade. And also installing the new e2fsprogs first, then upgrading the rest of the chroot. In both cases /etc/systemd/system/multi-user.target.wants/e2scrub_reap.service was missing. I'm filing this bug as serious as it looks like systemd units my not get enabled on upgrades from bullseye to bookworm while they should be. I'm attaching the full piuparts log in case you are interested in which packages were involved in the upgrade. (First part if the upgrade of the reference chroot, then the upgrade after installing systemd). Andreas
systemd.b2b.4.log.gz
Description: application/gzip