Bug#1036920: systemd: please ship a placeholder in /usr/lib/modules-load.d/

Andreas Beckmann anbe at debian.org
Mon May 29 13:42:14 BST 2023


Package: systemd
Version: 252.6-1
Severity: serious
User: debian-qa at lists.debian.org
Usertags: piuparts

Hi,

during a test with piuparts I noticed your package ships an empty
directory (/usr/lib/modules-load.d/) which disappears after installation
and removal of another package (e.g. multipath-tools) in a merged-/usr
setup. This is not a bug in the other package, but an effect of our
merged-/usr implementation.

Side question first: does systemd evaluate both
/usr/lib/modules-load.d/* and /lib/modules-load.d/* ?
Otherwise all packages shipping something in /lib/modules-load.d/ are
broken on unmerged-/usr because their config snippets are not being
taken into account.

This is happening to trigger the bug: 

systemd ships /usr/lib/modules-load.d/ (empty directory)
multipath-tools ships /lib/modules-load.d/multipath.conf
dpkg doesn't know that /lib/modules-load.d/ and /usr/lib/modules-load.d/
are the same, and therefore removal of multipath-tools causes removal of
* /lib/modules-load.d/multipath.conf (OK)
* /lib/modules-load.d/ (if it was the last owner of that directory), while
  it effectively is /usr/lib/modules-load.d/ getting removed

When adding a placeholder file, it needs to be something that is ignored 
by the processing of the .d directory (the pattern could be *.conf, but I
might be mistaken here).

An alternative to shipping a placeholder file could be shipping
/lib/modules-load.d/ as additional empty directory, but I don't know
whether this would be allowed w.r.t. merged-/usr.


>From the attached log (scroll to the bottom...):

0m39.2s ERROR: FAIL: After purging files have disappeared:
  /usr/lib/modules-load.d/       owned by: systemd


This is not caught by default piuparts tests as there is no test with
systemd explicitly installed.

I could not reproduce this issue in bullseye (and haven't tried to
reproduce it in earlier releases).


cheers,

Andreas

PS: packages shipping files in modules-load.d/ (in sid):

# apt-file search /lib/modules-load.d/
aoetools: /usr/lib/modules-load.d/aoetools.conf
dlm-controld: /usr/lib/modules-load.d/configfs.conf
drbd-utils: /lib/modules-load.d/drbd.conf
ecryptfs-utils: /lib/modules-load.d/ecryptfs.conf
fwupd: /usr/lib/modules-load.d/fwupd-msr.conf
iwd: /usr/lib/modules-load.d/pkcs8.conf
libddccontrol0: /usr/lib/modules-load.d/ddccontrol-i2c-dev.conf
mbpfan: /lib/modules-load.d/mbpfan.depend.conf
multipath-tools: /lib/modules-load.d/multipath.conf
open-vm-tools-desktop: /usr/lib/modules-load.d/open-vm-tools-desktop.conf
osspd: /lib/modules-load.d/osspd.conf
zfsutils-linux: /lib/modules-load.d/zfs.conf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: systemd-modules-load.d.log.gz
Type: application/gzip
Size: 11754 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20230529/a81cb213/attachment.gz>


More information about the Pkg-systemd-maintainers mailing list