Merge pull request #181804 from tylerjl/glusterfs-ssl-path-patch

glusterfs: patch around SSL_CERT_PATH detection
This commit is contained in:
7c6f434c 2022-07-26 05:17:44 +00:00 committed by GitHub
commit 702c2b914c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 0 deletions

View File

@ -65,6 +65,17 @@ in stdenv.mkDerivation rec {
};
inherit buildInputs propagatedBuildInputs;
patches = [
# Upstream invokes `openssl version -d` to derive the canonical system path
# for certificates, which resolves to a nix store path, so this patch
# statically sets the configure.ac value. There's probably a less-brittle
# way to do this! (this will likely fail on a version bump)
# References:
# - https://github.com/gluster/glusterfs/issues/3234
# - https://github.com/gluster/glusterfs/commit/a7dc43f533ad4b8ff68bf57704fefc614da65493
./ssl_cert_path.patch
];
postPatch = ''
sed -e '/chmod u+s/d' -i contrib/fuse-util/Makefile.am
substituteInPlace libglusterfs/src/glusterfs/lvm-defaults.h \

View File

@ -0,0 +1,23 @@
diff --git a/configure.ac b/configure.ac
index fb8db11e9e..4c40683057 100644
--- a/configure.ac
+++ b/configure.ac
@@ -766,14 +766,10 @@ AS_IF([test "x$enable_fuse_notifications" != "xno"], [
dnl Find out OpenSSL trusted certificates path
AC_MSG_CHECKING([for OpenSSL trusted certificates path])
-SSL_CERT_PATH=$(openssl version -d | sed -e 's|OPENSSLDIR: "\(.*\)".*|\1|')
-if test -d $SSL_CERT_PATH 1>/dev/null 2>&1; then
- AC_MSG_RESULT([$SSL_CERT_PATH])
- AC_DEFINE_UNQUOTED(SSL_CERT_PATH, ["$SSL_CERT_PATH"], [Path to OpenSSL trusted certificates.])
- AC_SUBST(SSL_CERT_PATH)
-else
- AC_MSG_ERROR([Unable to detect path to OpenSSL trusted certificates])
-fi
+SSL_CERT_PATH=/etc/ssl
+AC_MSG_RESULT([$SSL_CERT_PATH])
+AC_DEFINE_UNQUOTED(SSL_CERT_PATH, ["$SSL_CERT_PATH"], [Path to OpenSSL trusted certificates.])
+AC_SUBST(SSL_CERT_PATH)
AC_CHECK_LIB([ssl], TLS_method, [HAVE_OPENSSL_1_1="yes"], [HAVE_OPENSSL_1_1="no"])
if test "x$HAVE_OPENSSL_1_1" = "xyes"; then