chiark / gitweb /
systemd: do not enable udev-settle.service by default
authorKay Sievers <kay.sievers@vrfy.org>
Mon, 28 Mar 2011 23:14:53 +0000 (01:14 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Mon, 28 Mar 2011 23:14:53 +0000 (01:14 +0200)
This barrier service is usually not enabled by default. If enabled,
it acts as a barrier for basic.target -- so all later services will
wait for udev completely finishing its coldplug run.

It might be enabled just unconditionally, or pulled-in on-demand by
broken or non-hotplug-aware services that assume a fully populated
/dev at startup.

Makefile.am
NEWS
init/udev-settle.service.in

index d8ce4b3f151f42ed31659f320ed0e5e2ad556d67..df70bf73be35bb5b592f0816e3e743f256d47371 100644 (file)
@@ -137,7 +137,6 @@ systemd-install-hook:
        mkdir -p $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants
        ln -sf ../udev.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev.service
        ln -sf ../udev-trigger.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-trigger.service
        mkdir -p $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants
        ln -sf ../udev.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev.service
        ln -sf ../udev-trigger.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-trigger.service
-       ln -sf ../udev-settle.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-settle.service
 
 INSTALL_DATA_HOOKS += systemd-install-hook
 endif
 
 INSTALL_DATA_HOOKS += systemd-install-hook
 endif
diff --git a/NEWS b/NEWS
index 63826003e75af83273d03b0c8250dfd1a14f0546..b86e0bcca0a7c096ab7c3958e3e46c7c7372da1e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -19,6 +19,13 @@ is preserved for the udev version started in the rootfs.
 The command 'udevadm info --convert-db' is gone. The udev daemon
 itself, at startup, converts any old database version if necessary.
 
 The command 'udevadm info --convert-db' is gone. The udev daemon
 itself, at startup, converts any old database version if necessary.
 
+The systemd services files have been reorganized. The udev control
+socket is bound by systemd and passed to the started udev daemon.
+The udev-settle.service is no longer active by default. Services which
+can not handle hotplug setups properly need to actively pull it in to
+act like a barrier for basic.target. Alternatively the settle service
+can be unconditionally 'systemctl'enabled to work-around such services.
+
 The fstab_import callout is no longer built or installed. Udev
 should not be used to mount, does not watch changes to fstab, and
 should not mirror fstab values in the udev database.
 The fstab_import callout is no longer built or installed. Udev
 should not be used to mount, does not watch changes to fstab, and
 should not mirror fstab values in the udev database.
index c5d7e96cb34f323442ad38042be99c460bbb1dc8..be06a3935279a240d14f30bcad624320b669d3c0 100644 (file)
@@ -1,3 +1,11 @@
+# This barrier service is usually not enabled by default. If enabled,
+# it acts as a barrier for basic.target -- so all later services will
+# wait for udev completely finishing its coldplug run.
+#
+# It might be enabled just unconditionally, or pulled-in on-demand by
+# broken or non-hotplug-aware services that assume a fully populated
+# /dev at startup.
+
 [Unit]
 Description=udev Wait for Complete Device Initialization
 DefaultDependencies=no
 [Unit]
 Description=udev Wait for Complete Device Initialization
 DefaultDependencies=no
@@ -8,3 +16,6 @@ Before=basic.target
 Type=oneshot
 RemainAfterExit=yes
 ExecStart=@sbindir@/udevadm settle
 Type=oneshot
 RemainAfterExit=yes
 ExecStart=@sbindir@/udevadm settle
+
+[Install]
+WantedBy=basic.target