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
OpenPGP_signature
Description: OpenPGP digital signature