forked from pool/spack
- Give 'site' scope a lower precedence than 'system' scope.
The 'site wide' config scope was meant to be per Spack
installation. A single system may have multiple Spack
installations, so was is meant for overriding the
'system' wide setting per installation.
The Spack package is OS-vendor provided. The vendor provides
pr generates a configuration which a local admin may want to
override. This can now be done from within the 'system' scope.
Previously the vendor-supplied configuration was mixed with
the 'system' scope - local modifications collided with
vendor autoconfiguration.
- Add a build-dependency package which will cause build tools
and libraries used frequently by Spack to be installed.
All these packages are recommended by the main Spack package
already. This package may be used in environments where the
installation of recommended packages is disabled by default.
- Update Spack to version 0.22.0
* New features:
- Compiler dependencies:
Spack is in the process of making compilers proper dependencies.
For this, compiler dependencies are moving from `compilers.yaml`
to `packages.yaml` to make this consistent with other externals.
For this, dependency graphs will not show the compiler runtime
libraries like `gcc-runtime` or `libgfortran`.
To minimize disruption, an existing `compilers.yaml` file will
continue to work, however, users are encourage to migrate
before v0.23.
+ Packages compiled with `%gcc` now depend on a new package
`gcc-runtime`, which contains a copy of the shared compiler
OBS-URL: https://build.opensuse.org/request/show/1174817
OBS-URL: https://build.opensuse.org/package/show/network:cluster/spack?expand=0&rev=104
47 lines
2.0 KiB
Diff
47 lines
2.0 KiB
Diff
From: Egbert Eich <eich@suse.com>
|
|
Date: Thu May 16 18:34:42 2024 +0200
|
|
Subject: Move 'site' config scope before 'system' scope
|
|
Patch-mainline: Not yet
|
|
Git-commit: 55febdb317328ac0e60cb486eac27fe1371cf120
|
|
References:
|
|
|
|
For spack, the 'site' scope if meant for the Spack installation
|
|
which a system may have multiple of. Therefore, it lives in
|
|
the Spack installation it is meant for. It should override the
|
|
'system-wide' settings from the 'system' scope which is usually
|
|
located in /etc/spack.
|
|
Our Spack package is meant to be system wide, the site scope
|
|
will therefore host vendor provided or generated configs which
|
|
a local admin should therefore be able to override.
|
|
It must therefore have a lower priority that the system scope.
|
|
|
|
Signed-off-by: Egbert Eich <eich@suse.com>
|
|
Signed-off-by: Egbert Eich <eich@suse.de>
|
|
---
|
|
lib/spack/spack/config.py | 8 ++++----
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py
|
|
index 2a2f180f..3eac8542 100644
|
|
--- a/lib/spack/spack/config.py
|
|
+++ b/lib/spack/spack/config.py
|
|
@@ -832,15 +832,15 @@ def create() -> Configuration:
|
|
|
|
disable_local_config = "SPACK_DISABLE_LOCAL_CONFIG" in os.environ
|
|
|
|
+ # Site configuration is per spack instance, for sites or projects
|
|
+ # No site-level configs should be checked into spack by default.
|
|
+ configuration_paths.append(("site", os.path.join(spack.paths.etc_path)))
|
|
+
|
|
# System configuration is per machine.
|
|
# This is disabled if user asks for no local configuration.
|
|
if not disable_local_config:
|
|
configuration_paths.append(("system", spack.paths.system_config_path))
|
|
|
|
- # Site configuration is per spack instance, for sites or projects
|
|
- # No site-level configs should be checked into spack by default.
|
|
- configuration_paths.append(("site", os.path.join(spack.paths.etc_path)))
|
|
-
|
|
# Python package's can register configuration scopes via entry_points
|
|
configuration_paths.extend(config_paths_from_entry_points())
|
|
|