]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
uuidd: add systemd unit files
authorPetr Uzel <petr.uzel@suse.cz>
Thu, 3 May 2012 19:01:58 +0000 (21:01 +0200)
committerKarel Zak <kzak@redhat.com>
Fri, 4 May 2012 13:14:16 +0000 (15:14 +0200)
Add systemd unit files which use the socket activation mechanism
of systemd. The uuidd deamon is started upon first request on the
socket and quits after 1 minute of inactivity.

Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
Makefile.am
configure.ac
misc-utils/.gitignore
misc-utils/Makefile.am
misc-utils/uuidd.service.in [new file with mode: 0644]
misc-utils/uuidd.socket [new file with mode: 0644]

index 6fec32db8f54899816ded3c35d29566eadb658a3..12e110336a2b7122e4ebf54bbd16186d4b228587 100644 (file)
@@ -89,7 +89,8 @@ checkxalloc:
 
 ENABLE_ALL = --enable-static-programs --enable-most-builds
 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --disable-use-tty-group \
-                           --disable-silent-rules $(ENABLE_ALL)
+                           --disable-silent-rules $(ENABLE_ALL) \
+                           --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
 
 
 BUILT_SOURCES = .version
index 8b80f388fc6452a1e485eb555340d54c00d9562b..a1b1e9b7f52295d4c0b970215c15d6d49d0dc950 100644 (file)
@@ -1142,6 +1142,16 @@ if test "x$enable_socket_activation" = xyes; then
   AC_DEFINE(USE_SOCKET_ACTIVATION, 1, [Should uuidd support socket activation?])
 fi
 
+AC_ARG_WITH([systemdsystemunitdir],
+  AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [directory for systemd service files]),
+  [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
+
+if test "x$with_systemdsystemunitdir" != "xno"; then
+  AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+fi
+
+AM_CONDITIONAL(WITH_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != "xno" ])
+
 
 AC_ARG_ENABLE([login-stat-mail],
   AS_HELP_STRING([--enable-login-stat-mail], [let login stat() the mailbox]),
@@ -1265,6 +1275,7 @@ libuuid/uuid.pc
 login-utils/Makefile
 man/ru/Makefile
 misc-utils/Makefile
+misc-utils/uuidd.service
 mount/Makefile
 partx/Makefile
 po/Makefile.in
index 927af232609f139bee0ceec61e49797ac7aeb9f4..3fe5567734a8dcdd4cd5e43eb0006cbb364de901 100644 (file)
@@ -18,3 +18,4 @@ wipefs
 findmnt
 lsblk
 lslocks
+uuidd.service
index 47a639baae59b5aef72e34f58288176cce41b376..9dd358365d246021539f0ada206baf88641471d6 100644 (file)
@@ -1,7 +1,5 @@
 include $(top_srcdir)/config/include-Makefile.am
 
-EXTRA_DIST = uuidd.rc
-
 bin_PROGRAMS =
 sbin_PROGRAMS =
 usrsbin_exec_PROGRAMS =
@@ -89,8 +87,17 @@ if USE_SOCKET_ACTIVATION
 uuidd_SOURCES += sd-daemon.c
 uuidd_LDADD += -lrt
 endif
+if WITH_SYSTEMD
+systemdsystemunit_DATA = \
+       uuidd.service \
+       uuidd.socket
+endif
 endif
 
+EXTRA_DIST = uuidd.rc uuidd.service.in uuidd.socket
+CLEANFILES += uuidd.service
+
+
 if BUILD_LIBBLKID
 sbin_PROGRAMS += blkid findfs wipefs
 dist_man_MANS += blkid.8 findfs.8 wipefs.8
diff --git a/misc-utils/uuidd.service.in b/misc-utils/uuidd.service.in
new file mode 100644 (file)
index 0000000..750fc31
--- /dev/null
@@ -0,0 +1,9 @@
+[Unit]
+Description=Daemon for generating UUIDs
+Requires=uuidd.socket
+
+[Service]
+ExecStart=@sbindir@/uuidd -S -T 60
+Restart=no
+User=uuidd
+Group=uuidd
diff --git a/misc-utils/uuidd.socket b/misc-utils/uuidd.socket
new file mode 100644 (file)
index 0000000..4eba789
--- /dev/null
@@ -0,0 +1,8 @@
+[Unit]
+Description=UUID daemon activation socket
+
+[Socket]
+ListenStream=/var/run/uuidd/request
+
+[Install]
+WantedBy=sockets.target