From f13b388f97bc3ba8db844bd3413d510e2466a0b6 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Mon, 16 Apr 2012 23:32:22 +0200 Subject: udev: install udevd as /usr/lib/systemd/systemd-udevd --- .gitignore | 2 +- Makefile.am | 55 +++++++------ NEWS | 10 ++- man/systemd-udevd.xml | 150 ++++++++++++++++++++++++++++++++++ man/udev.xml | 6 +- man/udevadm.xml | 16 ++-- man/udevd.xml | 150 ---------------------------------- units/.gitignore | 6 +- units/systemd-udev-control.socket | 10 +++ units/systemd-udev-kernel.socket | 10 +++ units/systemd-udev-settle.service.in | 26 ++++++ units/systemd-udev-trigger.service.in | 11 +++ units/systemd-udev.service.in | 14 ++++ units/udev-control.socket | 10 --- units/udev-kernel.socket | 10 --- units/udev-settle.service.in | 26 ------ units/udev-trigger.service.in | 11 --- units/udev.service.in | 14 ---- 18 files changed, 276 insertions(+), 261 deletions(-) create mode 100644 man/systemd-udevd.xml delete mode 100644 man/udevd.xml create mode 100644 units/systemd-udev-control.socket create mode 100644 units/systemd-udev-kernel.socket create mode 100644 units/systemd-udev-settle.service.in create mode 100644 units/systemd-udev-trigger.service.in create mode 100644 units/systemd-udev.service.in delete mode 100644 units/udev-control.socket delete mode 100644 units/udev-kernel.socket delete mode 100644 units/udev-settle.service.in delete mode 100644 units/udev-trigger.service.in delete mode 100644 units/udev.service.in diff --git a/.gitignore b/.gitignore index af7a017b6d..08beb9afec 100644 --- a/.gitignore +++ b/.gitignore @@ -112,7 +112,7 @@ stamp-* /mtd_probe /scsi_id /udevadm -/udevd +/systemd-udevd /v4l_id /test-libudev /test-udev diff --git a/Makefile.am b/Makefile.am index 421d27c886..90c225ec01 100644 --- a/Makefile.am +++ b/Makefile.am @@ -101,6 +101,7 @@ check_PROGRAMS = check_DATA = noinst_PROGRAMS = TESTS = +udevlibexec_PROGRAMS = AM_CPPFLAGS = \ -include $(top_builddir)/config.h \ @@ -296,8 +297,8 @@ dist_systemunit_DATA = \ units/systemd-ask-password-wall.path \ units/systemd-ask-password-console.path \ units/syslog.target \ - units/udev-control.socket \ - units/udev-kernel.socket + units/systemd-udev-control.socket \ + units/systemd-udev-kernel.socket nodist_systemunit_DATA = \ units/getty@.service \ @@ -323,9 +324,9 @@ nodist_systemunit_DATA = \ units/fsck-root.service \ units/rescue.service \ units/user@.service \ - units/udev.service \ - units/udev-trigger.service \ - units/udev-settle.service + units/systemd-udev.service \ + units/systemd-udev-trigger.service \ + units/systemd-udev-settle.service dist_userunit_DATA = \ units/user/default.target \ @@ -359,9 +360,9 @@ EXTRA_DIST += \ units/fsck@.service.in \ units/fsck-root.service.in \ units/user@.service.in \ - units/udev.service \ - units/udev-trigger.service \ - units/udev-settle.service \ + units/systemd-udev.service \ + units/systemd-udev-trigger.service \ + units/systemd-udev-settle.service \ introspect.awk \ man/custom-html.xsl @@ -1358,7 +1359,7 @@ libudev_private_la_LIBADD = \ MANPAGES += \ man/udev.7 \ man/udevadm.8 \ - man/udevd.8 + man/systemd-udevd.8 udev-confdirs: -mkdir -p $(DESTDIR)$(sysconfdir)/udev/rules.d @@ -1398,30 +1399,30 @@ CLEANFILES += \ src/udev/udev.pc EXTRA_DIST += \ - units/udev.service.in \ - units/udev-trigger.service.in \ - units/udev-settle.service.in + units/systemd-udev.service.in \ + units/systemd-udev-trigger.service.in \ + units/systemd-udev-settle.service.in CLEANFILES += \ - units/udev.service \ - units/udev-trigger.service \ - units/udev-settle.service + units/systemd-udev.service \ + units/systemd-udev-trigger.service \ + units/systemd-udev-settle.service systemd-install-hook: mkdir -p $(DESTDIR)$(systemunitdir)/sockets.target.wants - ln -sf ../udev-control.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/udev-control.socket - ln -sf ../udev-kernel.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/udev-kernel.socket + ln -sf ../systemd-udev-control.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/systemd-udev-control.socket + ln -sf ../systemd-udev-kernel.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/systemd-udev-kernel.socket mkdir -p $(DESTDIR)$(systemunitdir)/basic.target.wants - ln -sf ../udev.service $(DESTDIR)$(systemunitdir)/basic.target.wants/udev.service - ln -sf ../udev-trigger.service $(DESTDIR)$(systemunitdir)/basic.target.wants/udev-trigger.service + ln -sf ../systemd-udev.service $(DESTDIR)$(systemunitdir)/basic.target.wants/systemd-udev.service + ln -sf ../systemd-udev-trigger.service $(DESTDIR)$(systemunitdir)/basic.target.wants/systemd-udev-trigger.service INSTALL_DATA_HOOKS += systemd-install-hook bin_PROGRAMS += \ udevadm -udevlibexec_PROGRAMS = \ - udevd +rootlibexec_PROGRAMS += \ + systemd-udevd noinst_LTLIBRARIES += \ libudev-core.la @@ -1469,10 +1470,10 @@ libudev_core_la_LIBADD += \ libsystemd-acl.la endif -udevd_SOURCES = \ +systemd_udevd_SOURCES = \ src/udev/udevd.c -udevd_LDADD = \ +systemd_udevd_LDADD = \ libudev-core.la udevadm_SOURCES = \ @@ -3227,6 +3228,9 @@ install-data-hook: systemd-install-data-hook $(INSTALL_DATA_HOOKS) distclean-local: $(DISTCLEAN_LOCAL_HOOKS) +clean-local: + rm -rf $(abs_srcdir)/install-tree + DISTCHECK_CONFIGURE_FLAGS = \ --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \ --with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \ @@ -3249,3 +3253,8 @@ doc-sync: all git-tag: git tag "v$(VERSION)" -m "systemd $(VERSION)" + +install-tree: all + rm -rf $(abs_srcdir)/install-tree + make install DESTDIR=$(abs_srcdir)/install-tree + tree $(abs_srcdir)/install-tree diff --git a/NEWS b/NEWS index 52196dc0b1..dc04d0a345 100644 --- a/NEWS +++ b/NEWS @@ -8,8 +8,9 @@ CHANGES WITH 182: udev though, will require the *build* of the systemd tree, but udev can be properly *run* without systems. - * udev: /lib/udev/devices/ are not read anymore; tmpfiles should - be used to create workarounds for broken subsystems. + * udev: /lib/udev/devices/ are not read anymore; systemde-tmpfiles + should be used to create dead device nodes as workarounds for broken + subsystems. * udev: RUN+="socket:..." and udev_monitor_new_from_socket() is no longer supported. udev_monitor_new_from_netlink() needs to be @@ -22,6 +23,11 @@ CHANGES WITH 182: pulled-in by udev to ge started, but they can no longer be directly forked by udev rules. + * udev: the daemon binary is called systemd-udevd now and installed + in /usr/lib/systemd/. Standalone builds or non-systemd systems need + to adapt to that, create symlink, or rename the binary after building + it. + * systemd-logingctl and systemd-journalctl have been renamed to logingctl and journalctl to match systemctl. diff --git a/man/systemd-udevd.xml b/man/systemd-udevd.xml new file mode 100644 index 0000000000..1be356f8c6 --- /dev/null +++ b/man/systemd-udevd.xml @@ -0,0 +1,150 @@ + + + + + + + udevd + systemd + + + Developer + Kay + Sievers + kay@vrfy.org + + + + + + systemd-udevd + 8 + + + + + systemd-udevdevent managing daemon + + + + + systemd-udevd + + + + + + + + + + + Description + systemd-udevd listens to kernel uevents. For every event, systemd-udevd executes matching + instructions specified in udev rules. See + udev7 + . + The behavior of the running daemon can be changed with + udevadm control. + + + Options + + + + + Detach and run in the background. + + + + + + Print debug messages to stderr. + + + + + + Limit the number of parallel executed events. + + + + + + Number of seconds to delay the execution of RUN instructions. + This might be useful when debugging system crashes during coldplug + cause by loading non-working kernel modules. + + + + + + Specify when systemd-udevd should resolve names of users and groups. + When set to (the default) names will be + resolved when the rules are parsed. When set to + names will be resolved for every event. + When set to names will never be resolved + and all devices will be owned by root. + + + + + + Print version number. + + + + + + Print help text. + + + + + + Environment + + + UDEV_LOG= + + Set the logging priority. + + + + + + Kernel command line + + + udev.log-priority= + + Set the logging priority. + + + + udev.children-max= + + Limit the number of parallel executed events. + + + + udev.exec-delay= + + Number of seconds to delay the execution of RUN instructions. + This might be useful when debugging system crashes during coldplug + cause by loading non-working kernel modules. + + + + + + + See Also + + udev7 + , + udevadm8 + + + diff --git a/man/udev.xml b/man/udev.xml index 458d351658..bd0dec6a6a 100644 --- a/man/udev.xml +++ b/man/udev.xml @@ -41,7 +41,7 @@ names provide a way to reliably identify devices based on their properties or current configuration. - The udev daemon, udevd + The udev daemon, systemd-udevd 8, receives device uevents directly from the kernel whenever a device is added or removed from the system, or it changes its state. When udev receives a device event, it matches its configured set of rules @@ -512,7 +512,7 @@ Apply the permissions specified in this rule to the static device node with the specified name. Static device node creation can be requested by kernel modules. - These nodes might not have a corresponding kernel device at the time udevd is + These nodes might not have a corresponding kernel device at the time systemd-udevd is started; they can trigger automatic kernel module loading. @@ -691,7 +691,7 @@ See Also - udevd8 + systemd-udevd8 , udevadm8 diff --git a/man/udevadm.xml b/man/udevadm.xml index 11900d202e..cbf22b4b5e 100644 --- a/man/udevadm.xml +++ b/man/udevadm.xml @@ -322,13 +322,13 @@ - Signal and wait for udevd to exit. + Signal and wait for systemd-udevd to exit. - Set the internal log level of udevd. Valid values are the numerical + Set the internal log level of systemd-udevd. Valid values are the numerical syslog priorities or their textual representations: , and . @@ -336,20 +336,20 @@ - Signal udevd to stop executing new events. Incoming events + Signal systemd-udevd to stop executing new events. Incoming events will be queued. - Signal udevd to enable the execution of events. + Signal systemd-udevd to enable the execution of events. - Signal udevd to reload the rules files and other databases like the kernel + Signal systemd-udevd to reload the rules files and other databases like the kernel module index. Reloading rules and databases does not apply any changes to already existing devices; the new configuration will only be applied to new events. @@ -363,14 +363,14 @@ value - Set the maximum number of events, udevd will handle at the + Set the maximum number of events, systemd-udevd will handle at the same time. seconds - The maximum number seconds to wait for a reply from udevd. + The maximum number seconds to wait for a reply from systemd-udevd. @@ -470,7 +470,7 @@ udev7 - udevd8 + systemd-udevd8 diff --git a/man/udevd.xml b/man/udevd.xml deleted file mode 100644 index 7c4e174cbe..0000000000 --- a/man/udevd.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - udevd - systemd - - - Developer - Kay - Sievers - kay@vrfy.org - - - - - - udevd - 8 - - - - - udevdevent managing daemon - - - - - udevd - - - - - - - - - - - Description - udevd listens to kernel uevents. For every event, udevd executes matching - instructions specified in udev rules. See - udev7 - . - The behavior of the running daemon can be changed with - udevadm control. - - - Options - - - - - Detach and run in the background. - - - - - - Print debug messages to stderr. - - - - - - Limit the number of parallel executed events. - - - - - - Number of seconds to delay the execution of RUN instructions. - This might be useful when debugging system crashes during coldplug - cause by loading non-working kernel modules. - - - - - - Specify when udevd should resolve names of users and groups. - When set to (the default) names will be - resolved when the rules are parsed. When set to - names will be resolved for every event. - When set to names will never be resolved - and all devices will be owned by root. - - - - - - Print version number. - - - - - - Print help text. - - - - - - Environment - - - UDEV_LOG= - - Set the logging priority. - - - - - - Kernel command line - - - udev.log-priority= - - Set the logging priority. - - - - udev.children-max= - - Limit the number of parallel executed events. - - - - udev.exec-delay= - - Number of seconds to delay the execution of RUN instructions. - This might be useful when debugging system crashes during coldplug - cause by loading non-working kernel modules. - - - - - - - See Also - - udev7 - , - udevadm8 - - - diff --git a/units/.gitignore b/units/.gitignore index 3cf64237a8..eda676a480 100644 --- a/units/.gitignore +++ b/units/.gitignore @@ -41,6 +41,6 @@ systemd-update-utmp-shutdown.service test-env-replace systemd-binfmt.service emergency.service -/udev-settle.service -/udev-trigger.service -/udev.service +/systemd-udev-settle.service +/systemd-udev-trigger.service +/systemd-udev.service diff --git a/units/systemd-udev-control.socket b/units/systemd-udev-control.socket new file mode 100644 index 0000000000..f80f774427 --- /dev/null +++ b/units/systemd-udev-control.socket @@ -0,0 +1,10 @@ +[Unit] +Description=udev Control Socket +DefaultDependencies=no +ConditionCapability=CAP_MKNOD + +[Socket] +Service=udev.service +ListenSequentialPacket=/run/udev/control +SocketMode=0600 +PassCredentials=yes diff --git a/units/systemd-udev-kernel.socket b/units/systemd-udev-kernel.socket new file mode 100644 index 0000000000..23fa9d5e11 --- /dev/null +++ b/units/systemd-udev-kernel.socket @@ -0,0 +1,10 @@ +[Unit] +Description=udev Kernel Socket +DefaultDependencies=no +ConditionCapability=CAP_MKNOD + +[Socket] +Service=udev.service +ReceiveBuffer=134217728 +ListenNetlink=kobject-uevent 1 +PassCredentials=yes diff --git a/units/systemd-udev-settle.service.in b/units/systemd-udev-settle.service.in new file mode 100644 index 0000000000..0a5e8c51ff --- /dev/null +++ b/units/systemd-udev-settle.service.in @@ -0,0 +1,26 @@ +# This 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. +# +# If needed, to work around broken or non-hotplug-aware services, +# it might be enabled unconditionally, or pulled-in on-demand by +# the services that assume a fully populated /dev at startup. It +# should not be used or pulled-in ever on systems without such +# legacy services running. + +[Unit] +Description=udev Wait for Complete Device Initialization +DefaultDependencies=no +Wants=udev.service +After=udev-trigger.service +Before=basic.target +ConditionCapability=CAP_MKNOD + +[Service] +Type=oneshot +TimeoutSec=180 +RemainAfterExit=yes +ExecStart=@bindir@/udevadm settle + +[Install] +WantedBy=basic.target diff --git a/units/systemd-udev-trigger.service.in b/units/systemd-udev-trigger.service.in new file mode 100644 index 0000000000..ce937ae899 --- /dev/null +++ b/units/systemd-udev-trigger.service.in @@ -0,0 +1,11 @@ +[Unit] +Description=udev Coldplug all Devices +Wants=udev.service +After=udev-kernel.socket udev-control.socket +DefaultDependencies=no +ConditionCapability=CAP_MKNOD + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@bindir@/udevadm trigger --type=subsystems --action=add ; @bindir@/udevadm trigger --type=devices --action=add diff --git a/units/systemd-udev.service.in b/units/systemd-udev.service.in new file mode 100644 index 0000000000..60d8601217 --- /dev/null +++ b/units/systemd-udev.service.in @@ -0,0 +1,14 @@ +[Unit] +Description=udev Kernel Device Manager +Wants=udev-control.socket udev-kernel.socket +After=udev-control.socket udev-kernel.socket +Before=basic.target +DefaultDependencies=no +ConditionCapability=CAP_MKNOD + +[Service] +Type=notify +OOMScoreAdjust=-1000 +Sockets=systemd-udev-control.socket systemd-udev-kernel.socket +Restart=on-failure +ExecStart=@rootlibexecdir@/systemd-udevd diff --git a/units/udev-control.socket b/units/udev-control.socket deleted file mode 100644 index f80f774427..0000000000 --- a/units/udev-control.socket +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=udev Control Socket -DefaultDependencies=no -ConditionCapability=CAP_MKNOD - -[Socket] -Service=udev.service -ListenSequentialPacket=/run/udev/control -SocketMode=0600 -PassCredentials=yes diff --git a/units/udev-kernel.socket b/units/udev-kernel.socket deleted file mode 100644 index 23fa9d5e11..0000000000 --- a/units/udev-kernel.socket +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=udev Kernel Socket -DefaultDependencies=no -ConditionCapability=CAP_MKNOD - -[Socket] -Service=udev.service -ReceiveBuffer=134217728 -ListenNetlink=kobject-uevent 1 -PassCredentials=yes diff --git a/units/udev-settle.service.in b/units/udev-settle.service.in deleted file mode 100644 index 0a5e8c51ff..0000000000 --- a/units/udev-settle.service.in +++ /dev/null @@ -1,26 +0,0 @@ -# This 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. -# -# If needed, to work around broken or non-hotplug-aware services, -# it might be enabled unconditionally, or pulled-in on-demand by -# the services that assume a fully populated /dev at startup. It -# should not be used or pulled-in ever on systems without such -# legacy services running. - -[Unit] -Description=udev Wait for Complete Device Initialization -DefaultDependencies=no -Wants=udev.service -After=udev-trigger.service -Before=basic.target -ConditionCapability=CAP_MKNOD - -[Service] -Type=oneshot -TimeoutSec=180 -RemainAfterExit=yes -ExecStart=@bindir@/udevadm settle - -[Install] -WantedBy=basic.target diff --git a/units/udev-trigger.service.in b/units/udev-trigger.service.in deleted file mode 100644 index ce937ae899..0000000000 --- a/units/udev-trigger.service.in +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=udev Coldplug all Devices -Wants=udev.service -After=udev-kernel.socket udev-control.socket -DefaultDependencies=no -ConditionCapability=CAP_MKNOD - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=@bindir@/udevadm trigger --type=subsystems --action=add ; @bindir@/udevadm trigger --type=devices --action=add diff --git a/units/udev.service.in b/units/udev.service.in deleted file mode 100644 index 7336e0eec7..0000000000 --- a/units/udev.service.in +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=udev Kernel Device Manager -Wants=udev-control.socket udev-kernel.socket -After=udev-control.socket udev-kernel.socket -Before=basic.target -DefaultDependencies=no -ConditionCapability=CAP_MKNOD - -[Service] -Type=notify -OOMScoreAdjust=-1000 -Sockets=udev-control.socket udev-kernel.socket -Restart=on-failure -ExecStart=@udevlibexecdir@/udevd -- cgit v1.2.3-54-g00ecf