summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-06-27 01:36:25 +0200
committerLennart Poettering <lennart@poettering.net>2010-06-27 01:36:25 +0200
commited11c6a4d4da379ff9ebccb7a0340e64232efabb (patch)
tree8fa5cea77c6a149f0efdc8536913ebcc28571da2
parent5b0187292d95c991c37efeeaf36fac9628dae5dc (diff)
build-sys: install systemd service files
-rw-r--r--Makefile.am3
-rw-r--r--avahi-daemon/.gitignore2
-rw-r--r--avahi-daemon/Makefile.am23
-rw-r--r--avahi-daemon/avahi-daemon.service.in31
-rw-r--r--avahi-daemon/avahi-daemon.socket.in27
-rw-r--r--avahi-daemon/org.freedesktop.Avahi.service24
-rw-r--r--avahi-dnsconfd/.gitignore1
-rw-r--r--avahi-dnsconfd/Makefile.am14
-rw-r--r--avahi-dnsconfd/avahi-dnsconfd.service.in30
-rw-r--r--configure.ac10
10 files changed, 161 insertions, 4 deletions
diff --git a/Makefile.am b/Makefile.am
index 168c556..982a83d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -222,7 +222,8 @@ avahi.devhelp: doxygen-run
MOSTLYCLEANFILES = $(DX_CLEANFILES)
DISTCHECK_CONFIGURE_FLAGS = \
- --disable-monodoc
+ --disable-monodoc \
+ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
homepage:
$(MAKE) -C man
diff --git a/avahi-daemon/.gitignore b/avahi-daemon/.gitignore
index bb2aeab..f1a6f8d 100644
--- a/avahi-daemon/.gitignore
+++ b/avahi-daemon/.gitignore
@@ -1,3 +1,5 @@
+avahi-daemon.service
+avahi-daemon.socket
avahi-daemon
avahi-dbus.conf
ini-file-parser-test
diff --git a/avahi-daemon/Makefile.am b/avahi-daemon/Makefile.am
index 04843fb..b5d2bf4 100644
--- a/avahi-daemon/Makefile.am
+++ b/avahi-daemon/Makefile.am
@@ -26,6 +26,7 @@ if HAVE_XML
pkgsysconfdir=$(sysconfdir)/avahi
servicedir=$(pkgsysconfdir)/services
introspectiondir=$(datadir)/dbus-1/interfaces
+dbussystemservicesdir=$(datadir)/dbus-1/system-services
AM_CFLAGS+= \
-DAVAHI_DAEMON_RUNTIME_DIR=\"$(avahi_runtime_dir)/avahi-daemon/\" \
@@ -75,6 +76,24 @@ dist_service_DATA = \
dist_pkgdata_DATA = \
avahi-service.dtd
+%.service: %.service.in
+ $(AM_V_GEN)sed -e 's,@sbindir\@,$(sbindir),g' $< > $@
+
+%.socket: %.socket.in
+ $(AM_V_GEN)sed -e 's,@sbindir\@,$(sbindir),g' \
+ -e 's,@avahi_runtime_dir\@,$(avahi_runtime_dir),g' $< > $@
+
+if HAVE_SYSTEMD
+systemdsystemunit_DATA = \
+ avahi-daemon.service \
+ avahi-daemon.socket
+
+dist_dbussystemservices_DATA = \
+ org.freedesktop.Avahi.service
+endif
+
+CLEANFILES = $(systemdsystemunit_DATA)
+
if ENABLE_CHROOT
avahi_daemon_SOURCES += \
@@ -139,7 +158,9 @@ EXTRA_DIST = \
hosts \
example.service \
introspect.dtd \
- introspect.xsl
+ introspect.xsl \
+ avahi-daemon.service.in \
+ avahi-daemon.socket.in
xmllint:
xmllint --noout --valid example.service
diff --git a/avahi-daemon/avahi-daemon.service.in b/avahi-daemon/avahi-daemon.service.in
new file mode 100644
index 0000000..d5a9dd4
--- /dev/null
+++ b/avahi-daemon/avahi-daemon.service.in
@@ -0,0 +1,31 @@
+# This file is part of avahi.
+#
+# avahi is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# avahi is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+# License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with avahi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+[Unit]
+Requires=basic.target avahi-daemon.socket
+After=basic.target syslog.target avahi-daemon.socket
+Conflicts=shutdown.target
+
+[Service]
+Type=dbus
+BusName=org.freedesktop.Avahi
+ExecStart=@sbindir@/avahi-daemon -s
+ExecReload=@sbindir@/avahi-daemon -r
+
+[Install]
+WantedBy=multi-user.target
+Also=avahi-daemon.socket
diff --git a/avahi-daemon/avahi-daemon.socket.in b/avahi-daemon/avahi-daemon.socket.in
new file mode 100644
index 0000000..b8e6b79
--- /dev/null
+++ b/avahi-daemon/avahi-daemon.socket.in
@@ -0,0 +1,27 @@
+# This file is part of avahi.
+#
+# avahi is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# avahi is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+# License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with avahi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+[Unit]
+After=sysinit.target
+Before=sockets.target
+Conflicts=shutdown.target
+
+[Socket]
+ListenStream=@avahi_runtime_dir@/avahi-daemon/socket
+
+[Install]
+WantedBy=sockets.target
diff --git a/avahi-daemon/org.freedesktop.Avahi.service b/avahi-daemon/org.freedesktop.Avahi.service
new file mode 100644
index 0000000..ebc5f31
--- /dev/null
+++ b/avahi-daemon/org.freedesktop.Avahi.service
@@ -0,0 +1,24 @@
+# This file is part of avahi.
+#
+# avahi is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# avahi is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+# License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with avahi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+[D-BUS Service]
+Name=org.freedesktop.Avahi
+SystemdService=avahi-daemon.service
+
+# This service should not be bus activated if systemd isn't running,
+# so that activation won't conflict with the init script startup.
+Exec=/bin/false
diff --git a/avahi-dnsconfd/.gitignore b/avahi-dnsconfd/.gitignore
index 581c3ce..2c6d07f 100644
--- a/avahi-dnsconfd/.gitignore
+++ b/avahi-dnsconfd/.gitignore
@@ -1 +1,2 @@
+avahi-dnsconfd.service
avahi-dnsconfd
diff --git a/avahi-dnsconfd/Makefile.am b/avahi-dnsconfd/Makefile.am
index dddf99e..4e74429 100644
--- a/avahi-dnsconfd/Makefile.am
+++ b/avahi-dnsconfd/Makefile.am
@@ -15,6 +15,8 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
+EXTRA_DIST=avahi-dnsconfd.action avahi-dnsconfd.service.in
+
if HAVE_XML
if HAVE_LIBDAEMON
@@ -37,7 +39,15 @@ avahi_dnsconfd_LDADD = $(AM_LDADD) ../avahi-common/libavahi-common.la $(LIBDAEMO
pkgsysconf_SCRIPTS=avahi-dnsconfd.action
-endif
+%.service: %.service.in
+ $(AM_V_GEN)sed -e 's,@sbindir\@,$(sbindir),g' $< > $@
+
+if HAVE_SYSTEMD
+systemdsystemunit_DATA = \
+ avahi-dnsconfd.service
endif
-EXTRA_DIST=avahi-dnsconfd.action
+CLEANFILES = $(systemdsystemunit_DATA)
+
+endif
+endif
diff --git a/avahi-dnsconfd/avahi-dnsconfd.service.in b/avahi-dnsconfd/avahi-dnsconfd.service.in
new file mode 100644
index 0000000..2db23d1
--- /dev/null
+++ b/avahi-dnsconfd/avahi-dnsconfd.service.in
@@ -0,0 +1,30 @@
+# This file is part of avahi.
+#
+# avahi is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# avahi is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+# License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with avahi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+[Unit]
+Requires=basic.target avahi-daemon.socket avahi-daemon.service
+After=basic.target syslog.target avahi-daemon.socket
+Conflicts=shutdown.target
+
+[Service]
+Type=simple
+ExecStart=@sbindir@/avahi-dnsconfd -s
+ExecReload=@sbindir@/avahi-dnsconfd -r
+
+[Install]
+WantedBy=multi-user.target
+Also=avahi-daemon.socket
diff --git a/configure.ac b/configure.ac
index d4f45ea..42d7d22 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1067,6 +1067,15 @@ AC_ARG_ENABLE(compat-howl,
AM_CONDITIONAL([ENABLE_COMPAT_HOWL], [test "x$ENABLE_COMPAT_HOWL" = "xyes"])
+#
+# systemd
+#
+AC_ARG_WITH([systemdsystemunitdir],
+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
+ [],
+ [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
+AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"])
# ==========================================================================
AC_CONFIG_FILES([
@@ -1150,6 +1159,7 @@ echo "
Enable chroot(): ${enable_chroot}
Enable Linux inotify: ${have_inotify}
Enable stack-smashing protection: ${enable_ssp}
+ systemd unit directory: ${with_systemdsystemunitdir}
"
BUILD_DAEMON="no (You need libdaemon and expat/bsdxml!)"