]> git.meshlink.io Git - catta/commitdiff
build-sys: install systemd service files
authorLennart Poettering <lennart@poettering.net>
Sat, 26 Jun 2010 23:36:25 +0000 (01:36 +0200)
committerLennart Poettering <lennart@poettering.net>
Sat, 26 Jun 2010 23:36:25 +0000 (01:36 +0200)
Makefile.am
avahi-daemon/.gitignore
avahi-daemon/Makefile.am
avahi-daemon/avahi-daemon.service.in [new file with mode: 0644]
avahi-daemon/avahi-daemon.socket.in [new file with mode: 0644]
avahi-daemon/org.freedesktop.Avahi.service [new file with mode: 0644]
avahi-dnsconfd/.gitignore
avahi-dnsconfd/Makefile.am
avahi-dnsconfd/avahi-dnsconfd.service.in [new file with mode: 0644]
configure.ac

index 168c55683db0339acb7625013638f6ce38f56cb1..982a83dd93015126e54d523307ed81f0ca9a43b4 100644 (file)
@@ -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
index bb2aeab07c47e4f5886190f1899e6c70c0043cd2..f1a6f8d604b77743f0ba5cb1861c56d9715d3f9e 100644 (file)
@@ -1,3 +1,5 @@
+avahi-daemon.service
+avahi-daemon.socket
 avahi-daemon
 avahi-dbus.conf
 ini-file-parser-test
index 04843fb9c9b53e994a0669541f102a9335faa1a0..b5d2bf475baa08ca6f18d95f570e614aac96cb87 100644 (file)
@@ -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 (file)
index 0000000..d5a9dd4
--- /dev/null
@@ -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 (file)
index 0000000..b8e6b79
--- /dev/null
@@ -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 (file)
index 0000000..ebc5f31
--- /dev/null
@@ -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
index 581c3ce5e04c570a5689ebee9584df0a79b09379..2c6d07f2bd576aaf081fcfdd828bebcaf68583d6 100644 (file)
@@ -1 +1,2 @@
+avahi-dnsconfd.service
 avahi-dnsconfd
index dddf99ebcecead318b77289092bbd77929413631..4e7442996c9edbbbe7d3d704d309bf34d9cb75df 100644 (file)
@@ -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 (file)
index 0000000..2db23d1
--- /dev/null
@@ -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
index d4f45eaded66b5a5ca4f89d73f55297a0125abb4..42d7d229e47e4a63dc13acaa6cc1072d85ce6439 100644 (file)
@@ -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!)"