If systemd is enabled we install unit files to $libdir/systemd/system
(or the path specified by SYSTEMD_UNIT_DIR).
The unit files are generated on the fly with matching $sbindir.
Signed-off-by: Christian Hesse <mail@eworm.de>
Acked-by: David Sommerseth <davids@openvpn.net>
Message-Id: <
20170124143947.27385-1-list@eworm.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg13940.html
Signed-off-by: David Sommerseth <davids@openvpn.net>
(cherry picked from commit
ca5b4c2aad2370be7862660d274b7485f2d0af71)
config-msvc-version.h
doc/openvpn.8.html
distro/rpm/openvpn.spec
+distro/systemd/*.service
sample/sample-keys/sample-ca/
vendor/.build
vendor/dist
AC_ARG_VAR([MAN2HTML], [path to man2html utility])
AC_ARG_VAR([GIT], [path to git utility])
AC_ARG_VAR([SYSTEMD_ASK_PASSWORD], [path to systemd-ask-password utility])
+AC_ARG_VAR([SYSTEMD_UNIT_DIR], [Path of systemd unit directory @<:@default=LIBDIR/systemd/system@:>@])
AC_PATH_PROGS([IFCONFIG], [ifconfig],, [$PATH:/usr/local/sbin:/usr/sbin:/sbin])
AC_PATH_PROGS([ROUTE], [route],, [$PATH:/usr/local/sbin:/usr/sbin:/sbin])
AC_PATH_PROGS([IPROUTE], [ip],, [$PATH:/usr/local/sbin:/usr/sbin:/sbin])
OPTIONAL_SYSTEMD_LIBS="${libsystemd_LIBS}"
AC_DEFINE(ENABLE_SYSTEMD, 1, [Enable systemd integration])
LIBS="${saved_LIBS}"
+
+ if test -n "${SYSTEMD_UNIT_DIR}"; then
+ systemdunitdir="${SYSTEMD_UNIT_DIR}"
+ else
+ systemdunitdir="\${libdir}/systemd/system"
+ fi
fi
AC_SUBST([plugindir])
AC_SUBST([sampledir])
+AC_SUBST([systemdunitdir])
+
VENDOR_SRC_ROOT="\$(abs_top_srcdir)/vendor/"
VENDOR_DIST_ROOT="\$(abs_top_builddir)/vendor/dist"
VENDOR_BUILD_ROOT="\$(abs_top_builddir)/vendor/.build"
distro/Makefile
distro/rpm/Makefile
distro/rpm/openvpn.spec
+ distro/systemd/Makefile
include/Makefile
src/Makefile
src/compat/Makefile
MAINTAINERCLEANFILES = \
$(srcdir)/Makefile.in
-SUBDIRS = rpm
-
-EXTRA_DIST = systemd/openvpn-client@.service systemd/openvpn-server@.service
+SUBDIRS = rpm systemd
--- /dev/null
+#
+# OpenVPN -- An application to securely tunnel IP networks
+# over a single UDP port, with support for SSL/TLS-based
+# session authentication and key exchange,
+# packet encryption, packet authentication, and
+# packet compression.
+#
+# Copyright (C) 2017 OpenVPN Technologies, Inc. <sales@openvpn.net>
+#
+
+%.service: %.service.in Makefile
+ $(AM_V_GEN)sed -e 's|\@sbindir\@|$(sbindir)|' \
+ $< > $@.tmp && mv $@.tmp $@
+
+EXTRA_DIST = \
+ openvpn-client@.service.in \
+ openvpn-server@.service.in
+
+if ENABLE_SYSTEMD
+systemdunit_DATA = \
+ openvpn-client@.service \
+ openvpn-server@.service
+endif
+
+MAINTAINERCLEANFILES = \
+ $(srcdir)/Makefile.in
RuntimeDirectory=openvpn-client
RuntimeDirectoryMode=0710
WorkingDirectory=/etc/openvpn/client
-ExecStart=/usr/sbin/openvpn --suppress-timestamps --nobind --config %i.conf
+ExecStart=@sbindir@/openvpn --suppress-timestamps --nobind --config %i.conf
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_OVERRIDE
LimitNPROC=10
DeviceAllow=/dev/null rw
RuntimeDirectory=openvpn-server
RuntimeDirectoryMode=0710
WorkingDirectory=/etc/openvpn/server
-ExecStart=/usr/sbin/openvpn --status %t/openvpn-server/status-%i.log --status-version 2 --suppress-timestamps --config %i.conf
+ExecStart=@sbindir@/openvpn --status %t/openvpn-server/status-%i.log --status-version 2 --suppress-timestamps --config %i.conf
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_OVERRIDE
LimitNPROC=10
DeviceAllow=/dev/null rw