William Hubbs wrote: > On Sun, Jun 03, 2012 at 03:00:27PM -0700, Bryan Kadzban wrote: >> I'd rather not replace "cp -a /lib/udev/devices/* /dev" in a boot >> script with a binary that nothing else uses, plus its configuration >> (which doesn't use nodes in /lib/udev/devices like what has been >> the udev ABI for *years*, but instead uses a list of device >> descriptions), plus any systemd-level libraries it may or may not >> need in the future. > > Actually other things could use it because of /tmp and /run and > creating/removing files/directories there on bootup. Possibly, but the full functionality will require systemd anyway. The program still has to be run by something; simply installing it won't do anything useful. Plus it will have to depend on having mounted the various temporary filesystems that it changes. >> If a system is already running systemd, then systemd-tmpfiles may >> or may not be the best place to do this (the ABI change is a >> problem for those systems, unless I'm missing something in the >> *tmpfiles* manpages). But if systemd is not running, then sticking >> to the previous ABI explicitly is the right way to go I think. > > Unless you don't have a previous abi. Except that udev-182 and earlier *provided* an ABI. "Put files in /lib/udev/devices and they'll be copied to /dev at boot time" was the rule, just like "put programs in /lib/udev and refer to them in rules you install with IMPORT{program}="" or RUN+="" without a path" was the rule. Now that rule has apparently been changed, so programs are going to have to expend effort coping. Unless I'm missing some functionality of systemd-tmpfiles when I read the docs. > Gentoo relies on udev copying things from /lib/udev/devices, which is > gone with this version of udev, so we need the new abi. I think you need something in the bootscripts somewhere that implements the *old* ABI. Adding a line to the udev start script that does the copy will give you that. Building and installing systemd-tmpfiles will not, unless you also add a bootscript that runs it. But then you also need to add configuration files for it, and teach all the other programs that your users want to run how to adapt to using the new configuration instead of the old static tree. (See man/tmpfiles.d.xml for the docs I'm looking at. There is no way to describe "copy this tree over to this other root", only "create this file", "write this data to this file", "create this character device", "create this block device", "delete this file", etc.) -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html