Re: [PATCH] Allow disabling the build of all of systemd, leaving just udev

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux