Christian Goll
f3e15f0c28
- 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())
|
|
|