diff options
author | Wouter Deconinck <wdconinc@gmail.com> | 2022-12-29 02:24:41 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-29 09:24:41 +0100 |
commit | 9d936a2a756298a540f1c25fab46ccdc716980a4 (patch) | |
tree | 9c4568eaa3b75426aec752237139a170007f401d /var | |
parent | 18438c395d7487a361748ad48609858c2725f1ea (diff) | |
download | spack-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.py | 16 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/singularityce/package.py | 9 |
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: |