summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorWouter Deconinck <wdconinc@gmail.com>2022-12-29 02:24:41 -0600
committerGitHub <noreply@github.com>2022-12-29 09:24:41 +0100
commit9d936a2a756298a540f1c25fab46ccdc716980a4 (patch)
tree9c4568eaa3b75426aec752237139a170007f401d /var
parent18438c395d7487a361748ad48609858c2725f1ea (diff)
downloadspack-9d936a2a756298a540f1c25fab46ccdc716980a4.tar.gz
spack-9d936a2a756298a540f1c25fab46ccdc716980a4.tar.bz2
spack-9d936a2a756298a540f1c25fab46ccdc716980a4.tar.xz
spack-9d936a2a756298a540f1c25fab46ccdc716980a4.zip
singularity, apptainer: --without-conmon into @property config_options (#34474)
Per https://github.com/spack/spack/issues/34192, apptainer does not support `--without-conmon`, so we introduce a base class `config_options` property that can be overridden in the `apptainer` package.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/apptainer/package.py16
-rw-r--r--var/spack/repos/builtin/packages/singularityce/package.py9
2 files changed, 11 insertions, 14 deletions
diff --git a/var/spack/repos/builtin/packages/apptainer/package.py b/var/spack/repos/builtin/packages/apptainer/package.py
index 9d07bcde0b..92410cb3ce 100644
--- a/var/spack/repos/builtin/packages/apptainer/package.py
+++ b/var/spack/repos/builtin/packages/apptainer/package.py
@@ -39,15 +39,7 @@ class Apptainer(SingularityBase):
"https://apptainer.org/docs/admin/main/admin_quickstart.html#apptainer-security",
)
- # This overrides SingularityBase (found in ../singularityce/package.py)
- # Because Apptainer's mconfig has no option `--without-conmon`
- # https://github.com/apptainer/apptainer/blob/v1.0.2/mconfig
- def edit(self, spec, prefix):
- with working_dir(self.build_directory):
- confstring = "./mconfig --prefix=%s" % prefix
- if "~suid" in spec:
- confstring += " --without-suid"
- if "~network" in spec:
- confstring += " --without-network"
- configure = Executable(confstring)
- configure()
+ # Override config options from SingularityBase
+ @property
+ def config_options(self):
+ return []
diff --git a/var/spack/repos/builtin/packages/singularityce/package.py b/var/spack/repos/builtin/packages/singularityce/package.py
index baf707bf2b..82374ac5b7 100644
--- a/var/spack/repos/builtin/packages/singularityce/package.py
+++ b/var/spack/repos/builtin/packages/singularityce/package.py
@@ -70,12 +70,17 @@ class SingularityBase(MakefilePackage):
def build_directory(self):
return self.singularity_gopath_dir
+ # Allow overriding config options
+ @property
+ def config_options(self):
+ # Using conmon from spack
+ return ["--without-conmon"]
+
# Hijack the edit stage to run mconfig.
def edit(self, spec, prefix):
with working_dir(self.build_directory):
confstring = "./mconfig --prefix=%s" % prefix
- # Using conmon from spack
- confstring += " --without-conmon"
+ confstring += " ".join(config_options)
if "~suid" in spec:
confstring += " --without-suid"
if "~network" in spec: