summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarmen Stoppels <harmenstoppels@gmail.com>2022-06-17 07:25:32 +0200
committerGitHub <noreply@github.com>2022-06-16 23:25:32 -0600
commit1c0bf12e5b21de3d77af2b1025479d30c4c94400 (patch)
treebd58d91c4725c10dedbbdc5debd1e547e1c3441a
parentbf990bc8ec2d6c51f7f40bc6b0f7fb3bba897a96 (diff)
downloadspack-1c0bf12e5b21de3d77af2b1025479d30c4c94400.tar.gz
spack-1c0bf12e5b21de3d77af2b1025479d30c4c94400.tar.bz2
spack-1c0bf12e5b21de3d77af2b1025479d30c4c94400.tar.xz
spack-1c0bf12e5b21de3d77af2b1025479d30c4c94400.zip
openssl package: default to mozilla certs (#31164)
On Cray systems that use Cray Data Virtualization Service (DVS), symlinks across filesystems are not allowed, either due to a bug, or because they're simply not POSIX compliant [1]. Spack's OpenSSL package defaults to `certs=system` which comes down to symlinking `/etc/ssl` in the Spack install prefix, triggering this problem, resulting in mysterious installation failures. Instead of relying on system certs, we can just use `ca-certificates-mozilla`, and if users really need system certs, then they're probably better off marking OpenSSL entirely as external. [1] https://github.com/glennklockwood/cray-dvs
-rw-r--r--var/spack/repos/builtin/packages/openssl/package.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
index 330ed05bc6..decc5029cc 100644
--- a/var/spack/repos/builtin/packages/openssl/package.py
+++ b/var/spack/repos/builtin/packages/openssl/package.py
@@ -85,10 +85,17 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
version('1.0.1h', sha256='9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093', deprecated=True)
version('1.0.1e', sha256='f74f15e8c8ff11aa3d5bb5f276d202ec18d7246e95f961db76054199c69c1ae3', deprecated=True)
- variant('certs', default='system',
+ # On Cray DVS mounts, we can't make symlinks to /etc/ssl/openssl.cnf,
+ # either due to a bug or because DVS is not intended to be POSIX compliant.
+ # Therefore, stick to system agnostic certs=mozilla.
+ variant('certs', default='mozilla',
values=('mozilla', 'system', 'none'), multi=False,
description=('Use certificates from the ca-certificates-mozilla '
- 'package, symlink system certificates, or none'))
+ 'package, symlink system certificates, or use none, '
+ 'respectively. The default is `mozilla`, since it is '
+ 'system agnostic. Instead of picking certs=system, '
+ 'one can mark openssl as an external package, to '
+ 'avoid compiling openssl entirely.'))
variant('docs', default=False, description='Install docs and manpages')
variant('shared', default=False, description="Build shared library version")
with when('platform=windows'):