Same behaviour as in the original patch: --with-unitdir auto-detects the systemd unit path. --with-unitdir=PATH uses the PATH no --with-unitdir does not install the systemd unit path. INSTALL description looks fine for what this does. While at this, extend tests/build/ to cover for this new option. Fixes: c4b17cf830510 ("tools: add a systemd unit for static rulesets") Signed-off-by: Pablo Neira Ayuso --- configure.ac | 29 +++++++++++++++++++++-------- tests/build/run-tests.sh | 2 +- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/configure.ac b/configure.ac index 42708c9f2470..3a751cb054b9 100644 --- a/configure.ac +++ b/configure.ac @@ -115,15 +115,22 @@ AC_CHECK_DECLS([getprotobyname_r, getprotobynumber_r, getservbyport_r], [], [], ]]) AC_ARG_WITH([unitdir], - [AS_HELP_STRING([--with-unitdir=PATH], [Path to systemd service unit directory])], - [unitdir="$withval"], + [AS_HELP_STRING([--with-unitdir[=PATH]], + [Path to systemd service unit directory, or omit PATH to auto-detect])], [ - unitdir=$("$PKG_CONFIG" systemd --variable systemdsystemunitdir 2>/dev/null) - AS_IF([test -z "$unitdir"], [unitdir='${prefix}/lib/systemd/system']) - ]) + if test "x$withval" = "xyes"; then + unitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd 2>/dev/null) + AS_IF([test -z "$unitdir"], [unitdir='${prefix}/lib/systemd/system']) + elif test "x$withval" = "xno"; then + unitdir="" + else + unitdir="$withval" + fi + ], + [unitdir=""] +) AC_SUBST([unitdir]) - AC_CONFIG_FILES([ \ Makefile \ libnftables.pc \ @@ -137,5 +144,11 @@ nft configuration: use mini-gmp: ${with_mini_gmp} enable man page: ${enable_man_doc} libxtables support: ${with_xtables} - json output support: ${with_json} - systemd unit: ${unitdir}" + json output support: ${with_json}" + +if test "x$unitdir" != "x"; then +AC_SUBST([unitdir]) +echo " systemd unit: ${unitdir}" +else +echo " systemd unit: no" +fi diff --git a/tests/build/run-tests.sh b/tests/build/run-tests.sh index 916df2e2fa8e..1d32d5d8afcb 100755 --- a/tests/build/run-tests.sh +++ b/tests/build/run-tests.sh @@ -3,7 +3,7 @@ log_file="$(pwd)/tests.log" dir=../.. argument=( --without-cli --with-cli=linenoise --with-cli=editline --enable-debug --with-mini-gmp - --enable-man-doc --with-xtables --with-json) + --enable-man-doc --with-xtables --with-json --with-unitdir --with-unidir=/lib/systemd/system) ok=0 failed=0 -- 2.30.2