add systemd service file
PATCH v2 1/1 add systemd service file
Signed-off-by Jörg Thalheim <[email protected]>
--- configure.ac | 30 +++++++++++++++++++++++++++++- files/Makefile.am | 3 ++- files/nftables/nftables.conf | 0 files/systemd/Makefile.am | 7 +++++++ files/systemd/nftables.service | 17 +++++++++++++++++ 5 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 files/nftables/nftables.conf create mode 100644 files/systemd/Makefile.am create mode 100644 files/systemd/nftables.service
configure.ac +29 -1
@@ -13,6 +13,8 @@ AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax no-dist-gzip dist-bzip2 1.6]) +AC_PATH_TOOL(PKGCONFIG, pkg-config) + dnl kernel style compile messages m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
@@ -117,6 +119,30 @@ AC_TYPE_UINT16_T AC_TYPE_UINT32_T AC_TYPE_UINT64_T +AC_ARG_WITH(systemd, [ --with-systemd set directory for systemd service files], + [systemd_unitdir="$withval"; with_systemd=yes], + [systemd_unitdir=""; with_systemd=no]) +AC_SUBST(systemd_unitdir) + +AM_CONDITIONAL([INSTALL_SYSTEMD], [test "x$with_systemd" != xno]) +AM_COND_IF([INSTALL_SYSTEMD], + [AS_IF([test "x$PKGCONFIG" = "x"], + [AC_MSG_ERROR(Need pkg-config to enable systemd support.)], + + [AC_MSG_CHECKING(for systemd) + AS_IF([$PKGCONFIG --exists systemd], + [AC_MSG_RESULT(yes) + AS_IF([$PKGCONFIG --exists systemd], + [AS_IF([test "x$systemd_unit_dir" = "x"], + [ systemd_unitdir="`$PKGCONFIG --variable=systemdsystemunitdir systemd`"]) + ]) + ] + [AC_MSG_RESULT(no)]) + ] + + )] +) + # Checks for library functions. AC_CHECK_FUNCS([memmove memset strchr strdup strerror strtoull])
@@ -129,6 +155,7 @@ AC_CONFIG_FILES([ \ doc/Makefile \ files/Makefile \ files/nftables/Makefile \ + files/systemd/Makefile \ ]) AC_OUTPUT
@@ -136,4 +163,5 @@ echo " nft configuration: cli support: ${with_cli} enable debugging: ${with_debug} - use mini-gmp: ${with_mini_gmp}" + use mini-gmp: ${with_mini_gmp} + systemd support: ${with_systemd}"
files/Makefile.am +2 -1
@@ -1 +1,2 @@ -SUBDIRS = nftables +SUBDIRS = nftables \ + systemd
files/nftables/nftables.conf new file +0 -0
files/systemd/Makefile.am new file +7 -0
@@ -0,0 +1,7 @@ +if INSTALL_SYSTEMD +systemd_unit_DATA = nftables.service + +install-data-hook: + ${SED} -i 's|@sbindir[@]|${sbindir}/|g;s|@sysconfdir[@]|${sysconfdir}/|g' \ + ${DESTDIR}${systemd_unitdir}/nftables.service +endif
files/systemd/nftables.service new file +17 -0
@@ -0,0 +1,17 @@ +[Unit] +Description=Netfilter Tables +Documentation=man:nft(8) +Wants=network-pre.target +Before=network-pre.target + +[Service] +Type=oneshot +ProtectSystem=full +ProtectHome=true +ExecStart=@sbindir@nft -f /etc/nftables.conf +ExecReload=@sbindir@nft 'flush ruleset; include "/etc/nftables.conf";' +ExecStop=@sbindir@nft flush ruleset +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target
configure.ac AC_CONFIG_MACRO_DIR([m4]) · line 17
Quoted 3 lines · Jörg Thalheim
configure.ac +2
-0+AC_PATH_TOOL(PKGCONFIG, pkg-config) +
Sure you don't want to actually use PKG_PROG_PKG_CONFIG?
files/systemd/nftables.service line 2
Quoted 3 lines
files/systemd/nftables.service new file +2
-0@@ -0,0 +1,17 @@ +[Unit] +Description=Netfilter Tables
That is rather non-descript. It should perhaps say something involving "network packet filter".
files/systemd/nftables.service line 17
Quoted 2 lines
files/systemd/nftables.service new file +2
-0+[Install] +WantedBy=multi-user.target
This ought to be basic.target.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html