Install systemd service file if systemd is available
authorMiklos Vajna <vmiklos@frugalware.org>
Mon, 28 Mar 2011 18:04:00 +0000 (20:04 +0200)
committerMartin Willi <martin@revosec.ch>
Tue, 29 Mar 2011 07:27:54 +0000 (09:27 +0200)
Makefile.am
configure.in
init/Makefile.am [new file with mode: 0644]
init/systemd/Makefile.am [new file with mode: 0644]
init/systemd/strongswan.service.in [new file with mode: 0644]

index cba5048..4757c8c 100644 (file)
@@ -1,4 +1,4 @@
-SUBDIRS = src man testing
+SUBDIRS = src man init testing
 
 if USE_SCRIPTS
   SUBDIRS += scripts
index 6dcf65c..4c66b75 100644 (file)
@@ -43,6 +43,13 @@ ARG_WITH_SUBST([routing-table-prio], [220], [set priority for IPsec routing tabl
 ARG_WITH_SET([capabilities],         [no], [set capability dropping library. Currently supported values are "libcap" and "native"])
 ARG_WITH_SET([mpz_powm_sec],         [yes], [use the more side-channel resistant mpz_powm_sec in libgmp, if available])
 
+if test -n "$PKG_CONFIG"; then
+       systemdsystemunitdir_default=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
+fi
+ARG_WITH_SET([systemdsystemunitdir], [$systemdsystemunitdir_default], [directory for systemd service files])
+AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$systemdsystemunitdir" -a "x$systemdsystemunitdir" != xno])
+AC_SUBST(systemdsystemunitdir)
+
 AC_ARG_WITH(
        [xauth-module],
        AS_HELP_STRING([--with-xauth-module=lib],[set the path to the XAUTH module]),
@@ -957,6 +964,8 @@ dnl ==============================
 AC_OUTPUT(
        Makefile
        man/Makefile
+       init/Makefile
+       init/systemd/Makefile
        src/Makefile
        src/include/Makefile
        src/libstrongswan/Makefile
diff --git a/init/Makefile.am b/init/Makefile.am
new file mode 100644 (file)
index 0000000..69439a1
--- /dev/null
@@ -0,0 +1,6 @@
+
+SUBDIRS =
+
+if HAVE_SYSTEMD
+  SUBDIRS += systemd
+endif
diff --git a/init/systemd/Makefile.am b/init/systemd/Makefile.am
new file mode 100644 (file)
index 0000000..e2bbfc4
--- /dev/null
@@ -0,0 +1,8 @@
+
+EXTRA_DIST = strongswan.service.in
+CLEANFILES = strongswan.service
+
+systemdsystemunit_DATA = strongswan.service
+
+strongswan.service : strongswan.service.in
+       sed -e "s:@SBINDIR@:$(sbindir):" $(srcdir)/$@.in > $@
diff --git a/init/systemd/strongswan.service.in b/init/systemd/strongswan.service.in
new file mode 100644 (file)
index 0000000..e8dc5e8
--- /dev/null
@@ -0,0 +1,10 @@
+[Unit]
+Description=strongSwan IPsec
+After=syslog.target
+
+[Service]
+ExecStart=@SBINDIR@/ipsec start --nofork
+StandardOutput=syslog
+
+[Install]
+WantedBy=multi-user.target