WARNING: dh_installsystemd is moving unit files to /usr/lib/systemd/system

Michael Biebl biebl at debian.org
Mon Aug 23 08:33:02 BST 2021


Am 21.08.21 um 10:34 schrieb Niels Thykier:
> Also, before that, we will need a solution to the generators issue
> (#992554 comment #25 and below).

Not only generators. For systemd we have to consider

/lib/systemd/system-generators/ (24 packages)
/lib/systemd/system-shutdown/ (6 packages)
/lib/systemd/system-sleep/ (10 packages)
/lib/systemd/system-preset/ (6 packages)
/lib/systemd/network/ (1 package)

systemd does not support reading scripts/files from a /usr/lib 
counterpart and we'd have to patch various places in systemd to allow 
that. Those patches should be simple though.

For udev, it's a bit trickier.
While udev supports reading udev .rules files from /lib/udev/rules.d and 
/usr/lib/udev/rules.d, udev allows to run programs via RUN+= or 
IMPORT{program}=
If not specified with a full path, it will look up the binary in /lib/udev
There are quite a few packages which hard-code a full path, like e.g.


90-libgpod.rules:ACTION=="add|change", SUBSYSTEM=="usb", 
ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0-9a]", 
IMPORT{program}+="/lib/udev/iphone-set-info"

Moving everything from /lib/udev to /usr/lib/udev would break that 
reference.

Then there are also quite a few .rules files which don't hard-code the 
full path. For those we'd have to patch udev to lookup the binaries in 
/lib/udev and /usr/lib/udev.

Not quite sure, how we'd coordinate that. Maybe only automatically move 
the .rules files and then file bugs against packages shipping helpers in 
/lib/udev to do the migration manually (by moving the helper to 
/usr/lib/udev and updating the .rules files accordingly).

A rough estimation suggests that this affects 60+ packages.

# apt-file search -x ^/lib/udev/  | grep -v rules.d | grep -v hwdb | 
grep -v rc_keymaps | grep -v ^udev: | grep -v ^systemd: | cut -f2 -d':'
  /lib/udev/tascam_fpga
  /lib/udev/tascam_fw
  /lib/udev/ec2nvme-nsid
  /lib/udev/awesfx.sh
  /lib/udev/bcache-keep-symlinks
  /lib/udev/bcache-register
  /lib/udev/probe-bcache
  /lib/udev/hid2hci
  /lib/udev/bridge-network-interface
  /lib/udev/bright-helper
  /lib/udev/start_concordance_dhcpd.sh
  /lib/udev/start_concordance_dhcpd_wrapper.sh
  /lib/udev/hid-rebind
  /lib/udev/vfio_name
  /lib/udev/entropykey.sh
  /lib/udev/gfs2_withdraw_helper
  /lib/udev/gobi_loader
  /lib/udev/hdmi2usb-human-path-helper
  /lib/udev/hdparm
  /lib/udev/ifplugd.agent
  /lib/udev/ifupdown-hotplug
  /lib/udev/ipheth-pair
  /lib/udev/js-set-enum-leds
  /lib/udev/dmsetup_env
  /lib/udev/kpartx_id
  /lib/udev/lmt-udev
  /lib/udev/iphone-set-info
  /lib/udev/ipod-set-info
  /lib/udev/libinput-device-group
  /lib/udev/libinput-fuzz-extract
  /lib/udev/libinput-fuzz-to-zero
  /lib/udev/mtp-probe
  /lib/udev/udev.lomoco
  /lib/udev/netscript-hotplug
  /lib/udev/nvidia_helper
  /lib/udev/razer_mount
  /lib/udev/pcmcia-check-broken-cis
  /lib/udev/pcmcia-socket-startup
  /lib/udev/hplj1005
  /lib/udev/hplj1018
  /lib/udev/hplj1020
  /lib/udev/hpljP1005
  /lib/udev/hpljP1006
  /lib/udev/hpljP1007
  /lib/udev/hpljP1008
  /lib/udev/hpljP1505
  /lib/udev/hpljP1505n
  /lib/udev/hplj1000
  /lib/udev/rdma_rename
  /lib/udev/snappy-app-dev
  /lib/udev/udev-add-printer
  /lib/udev/udev-configure-printer
  /lib/udev/tbtacl
  /lib/udev/tbtacl-write
  /lib/udev/tbtxdomain
  /lib/udev/tlp-usb-udev
  /lib/udev/tlp-rdw-udev
  /lib/udev/usb_modeswitch
  /lib/udev/uvcdynctrl
  /lib/udev/VBoxCreateUSBNode.sh
  /lib/udev/vdev_id
  /lib/udev/zvol_id

Regards,
Michael


-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20210823/64869a9e/attachment.sig>


More information about the Pkg-systemd-maintainers mailing list