in udev-evenc.c we can see: /* allow programs in /usr/lib/udev/ to be called without the path */ if (argv[0][0] != '/') { util_strscpyl(program, sizeof(program), UDEVLIBEXECDIR "/", argv[0], NULL); argv[0] = program; } pid = fork(); This leads to the fact that udev can not run utilities installed in /lib/udev. For example /lib/udev/usb_modeswitch from the package sys-apps/usb_modeswitch and other Reproducible: Always
(In reply to comment #0) > in udev-evenc.c we can see: > /* allow programs in /usr/lib/udev/ to be called without the path */ > if (argv[0][0] != '/') { > util_strscpyl(program, sizeof(program), UDEVLIBEXECDIR "/", > argv[0], NULL); > argv[0] = program; > } > > pid = fork(); > I suppose this could be done, but please file individual bugs for packages still installing into /lib/udev since everything should respect the udevdir= from udev.pc pkg-config file: pkg-config --variable=udevdir udev See how usb_modeswitch is fixed in -r2. > This leads to the fact that udev can not run utilities installed in > /lib/udev. For example /lib/udev/usb_modeswitch from the package > sys-apps/usb_modeswitch and other I've already fixed usb_modeswitch in ~ərch to install into correct udevdir. Do you know others?
Created attachment 320670 [details] udev-187-add-lib_udev-path-to-executable.patch
Now this packages on my system: app-emulation/virtualbox-bin app-emulation/qemu-kvm app-misc/media-player-info media-libs/libgphoto2 media-sound/alsa-utils net-misc/networkmanager net-wireless/crda net-wireless/bluez sys-apps/usb_modeswitch sys-fs/fuse sys-fs/mdadm sys-fs/ntfs3g sys-fs/lvm2 sys-fs/vhba sys-fs/udisks I'll check the latest versions of these packages and manages related tasks as necessary later. However, I think this may be just a patch to solve this problem for a period of migration. (tested by me)
(In reply to comment #3) Half of the packages in your list has been fixed in tree day or so now, so propably just use --sync. Trying to get most of these today'ish.
Yes, this list is redundant. I made a number of separate tasks
Systemd may not need a patch pending the outcome of bug #430470.
This is fixed in udev-188. For now we do not need to do anything with systemd-188* but if we virtualize udev we will need to possibly apply the patch to both.
I am closing this since the issue only applies to udev now and not systemd. It is fixed in udev-188.