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@xxxxxx> @@ 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 hooks base-commit: 0e3b67e2aa25edb7e1a5c999c87b52a7b3a7649a -- 2.42.0
Attachment:
signature.asc
Description: PGP signature