[PATCH v4 0/3] t: improve compatibility with NixOS
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Nov 10, 2023, 08:16 UTC
- Message-ID
- <cover.1699596457.git.ps@pks.im>
- In-Reply-To
- <cover.1699428122.git.ps@pks.im>
Hi,
this is the fourth version of my patch series to improve compatibility of our test suite with NixOS.
Three changes compared to v3:
- Switched from `test <expr> -a <expr>` to `test <expr> && test
<expr>`. - Improved the commit message to explain why the new
runtime-detected paths are only used as a fallback. - Rebased on top of 0e3b67e2aa (ci: add support for GitLab CI,
2023-11-09), which has been merged to `next` and caused conflicts.Technically speaking this series also depends on 0763c3a2c4 (http: update curl http/2 info matching for curl 8.3.0, 2023-09-15), without which the tests will fail on NixOS machines with a recent libcurl.
Patrick
Patrick Steinhardt (3): t/lib-httpd: dynamically detect httpd and modules path t/lib-httpd: stop using legacy crypt(3) for authentication t9164: fix inability to find basename(1) in Subversion hooks
t/lib-httpd.sh | 17 +++++++++++++---- t/lib-httpd/passwd | 2 +- t/lib-httpd/proxy-passwd | 2 +- t/t9164-git-svn-dcommit-concurrent.sh | 9 ++++++++- 4 files changed, 23 insertions(+), 7 deletions(-)
Range-diff against v3:
1: e4c75c492dd ! 1: 41b9dada2e0 t/lib-httpd: dynamically detect httpd and modules path
@@ Commit message
- The module directory can (in many cases) be derived via the
`HTTPD_ROOT` compile-time variable.
- Amend the code to do so. The new runtime-detected paths will only be
- used in case none of the hardcoded paths are usable.
+ Amend the code to do so.
+
+ Note that the new runtime-detected paths will only be used as a fallback
+ in case none of the hardcoded paths are usable. For the PATH lookup this
+ is because httpd is typically installed into "/usr/sbin", which is often
+ not included in the user's PATH variable. And the module path detection
+ relies on a configured httpd installation and may thus not work in all
+ cases, either.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
@@ t/lib-httpd.sh: fi
+ "$(command -v apache2)"
do
- if test -x "$DEFAULT_HTTPD_PATH"
-+ if test -n "$DEFAULT_HTTPD_PATH" -a -x "$DEFAULT_HTTPD_PATH"
++ if test -n "$DEFAULT_HTTPD_PATH" && test -x "$DEFAULT_HTTPD_PATH"
then
break
fi
@@ t/lib-httpd.sh: fi
'/usr/lib/apache2/modules' \
'/usr/lib64/httpd/modules' \
'/usr/lib/httpd/modules' \
-- '/usr/libexec/httpd'
-+ '/usr/libexec/httpd' \
+ '/usr/libexec/httpd' \
+- '/usr/lib/apache2'
++ '/usr/lib/apache2' \
+ "${DETECTED_HTTPD_ROOT:+${DETECTED_HTTPD_ROOT}/modules}"
do
- if test -d "$DEFAULT_HTTPD_MODULE_PATH"
-+ if test -n "$DEFAULT_HTTPD_MODULE_PATH" -a -d "$DEFAULT_HTTPD_MODULE_PATH"
++ if test -n "$DEFAULT_HTTPD_MODULE_PATH" && test -d "$DEFAULT_HTTPD_MODULE_PATH"
then
break
fi
2: 3dce76da477 = 2: 7d28c32feaa t/lib-httpd: stop using legacy crypt(3) for authentication
3: 6891e254155 = 3: 6a7773aadba t9164: fix inability to find basename(1) in Subversion hooksbase-commit: 0e3b67e2aa25edb7e1a5c999c87b52a7b3a7649a
-- 2.42.0