From fc16b361ef5290510fe92f17b8f821ea809d7604 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Mon, 28 Mar 2011 20:04:00 +0200 Subject: [PATCH] Install systemd service file if systemd is available --- Makefile.am | 2 +- configure.in | 9 +++++++++ init/Makefile.am | 6 ++++++ init/systemd/Makefile.am | 8 ++++++++ init/systemd/strongswan.service.in | 10 ++++++++++ 5 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 init/Makefile.am create mode 100644 init/systemd/Makefile.am create mode 100644 init/systemd/strongswan.service.in diff --git a/Makefile.am b/Makefile.am index cba5048b1..4757c8c7a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = src man testing +SUBDIRS = src man init testing if USE_SCRIPTS SUBDIRS += scripts diff --git a/configure.in b/configure.in index 6dcf65c4c..4c66b75b6 100644 --- a/configure.in +++ b/configure.in @@ -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 index 000000000..69439a10a --- /dev/null +++ b/init/Makefile.am @@ -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 index 000000000..e2bbfc451 --- /dev/null +++ b/init/systemd/Makefile.am @@ -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 index 000000000..e8dc5e819 --- /dev/null +++ b/init/systemd/strongswan.service.in @@ -0,0 +1,10 @@ +[Unit] +Description=strongSwan IPsec +After=syslog.target + +[Service] +ExecStart=@SBINDIR@/ipsec start --nofork +StandardOutput=syslog + +[Install] +WantedBy=multi-user.target