Add "default" configuration scope.
- Default scope is versioned with spack and can be overridden by site or user config. - Default scope provides sensible default concretization preferences for all of Spack. - per-platform concretization scope can be added later (to force a particular MPI on, e.g., Cray systems)
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -5,7 +5,7 @@ | |||||||
| *~ | *~ | ||||||
| .DS_Store | .DS_Store | ||||||
| .idea | .idea | ||||||
| /etc/spack/* | /etc/spack/*.yaml | ||||||
| /etc/spackconfig | /etc/spackconfig | ||||||
| /share/spack/dotkit | /share/spack/dotkit | ||||||
| /share/spack/modules | /share/spack/modules | ||||||
|   | |||||||
| @@ -1,8 +1,17 @@ | |||||||
| # ------------------------------------------------------------------------- | # ------------------------------------------------------------------------- | ||||||
| # This is the default spack module files generation configuration. | # This is the default configuration for Spack's module file generation. | ||||||
| # | # | ||||||
| # Changes to this file will affect all users of this spack install, | # Settings here are versioned with Spack and are intended to provide | ||||||
| # although users can override these settings in their ~/.spack/modules.yaml. | # sensible defaults out of the box. Spack maintainers should edit this | ||||||
|  | # file to keep it current. | ||||||
|  | # | ||||||
|  | # Users can override these settings by editing the following files. | ||||||
|  | # | ||||||
|  | # Per-spack-instance settings (overrides defaults): | ||||||
|  | #   $SPACK_ROOT/etc/spack/modules.yaml | ||||||
|  | # | ||||||
|  | # Per-user settings (overrides default and site settings): | ||||||
|  | #   ~/.spack/modules.yaml | ||||||
| # ------------------------------------------------------------------------- | # ------------------------------------------------------------------------- | ||||||
| modules: | modules: | ||||||
|   enable: |   enable: | ||||||
							
								
								
									
										21
									
								
								etc/spack/defaults/packages.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								etc/spack/defaults/packages.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | # ------------------------------------------------------------------------- | ||||||
|  | # This file controls default concretization preferences for Spack. | ||||||
|  | # | ||||||
|  | # Settings here are versioned with Spack and are intended to provide | ||||||
|  | # sensible defaults out of the box. Spack maintainers should edit this | ||||||
|  | # file to keep it current. | ||||||
|  | # | ||||||
|  | # Users can override these settings by editing the following files. | ||||||
|  | # | ||||||
|  | # Per-spack-instance settings (overrides defaults): | ||||||
|  | #   $SPACK_ROOT/etc/spack/packages.yaml | ||||||
|  | # | ||||||
|  | # Per-user settings (overrides default and site settings): | ||||||
|  | #   ~/.spack/packages.yaml | ||||||
|  | # ------------------------------------------------------------------------- | ||||||
|  | packages: | ||||||
|  |   all: | ||||||
|  |     providers: | ||||||
|  |       mpi: [openmpi, mpich] | ||||||
|  |       blas: [openblas] | ||||||
|  |       lapack: [openblas] | ||||||
							
								
								
									
										14
									
								
								etc/spack/defaults/repos.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								etc/spack/defaults/repos.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | # ------------------------------------------------------------------------- | ||||||
|  | # This is the default spack repository configuration. It includes the | ||||||
|  | # builtin spack package repository. | ||||||
|  | # | ||||||
|  | # Users can override these settings by editing the following files. | ||||||
|  | # | ||||||
|  | # Per-spack-instance settings (overrides defaults): | ||||||
|  | #   $SPACK_ROOT/etc/spack/repos.yaml | ||||||
|  | # | ||||||
|  | # Per-user settings (overrides default and site settings): | ||||||
|  | #   ~/.spack/repos.yaml | ||||||
|  | # ------------------------------------------------------------------------- | ||||||
|  | repos: | ||||||
|  |   - $spack/var/spack/repos/builtin | ||||||
| @@ -1,8 +0,0 @@ | |||||||
| # ------------------------------------------------------------------------- |  | ||||||
| # This is the default spack repository configuration. |  | ||||||
| # |  | ||||||
| # Changes to this file will affect all users of this spack install, |  | ||||||
| # although users can override these settings in their ~/.spack/repos.yaml. |  | ||||||
| # ------------------------------------------------------------------------- |  | ||||||
| repos: |  | ||||||
|   - $spack/var/spack/repos/builtin |  | ||||||
| @@ -497,8 +497,15 @@ def clear(self): | |||||||
|         """Empty cached config information.""" |         """Empty cached config information.""" | ||||||
|         self.sections = {} |         self.sections = {} | ||||||
|  |  | ||||||
|  | """Default configuration scope is the lowest-level scope. These are | ||||||
|  |    versioned with Spack and can be overridden by sites or users.""" | ||||||
|  | ConfigScope('defaults', os.path.join(spack.etc_path, 'spack', 'defaults')) | ||||||
|  |  | ||||||
| ConfigScope('site', os.path.join(spack.etc_path, 'spack')), | """Site configuration is per spack instance, for sites or projects. | ||||||
|  |    No site-level configs should be checked into spack by default.""" | ||||||
|  | ConfigScope('site', os.path.join(spack.etc_path, 'spack')) | ||||||
|  |  | ||||||
|  | """User configuration can override both spack defaults and site config.""" | ||||||
| ConfigScope('user', os.path.expanduser('~/.spack')) | ConfigScope('user', os.path.expanduser('~/.spack')) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Todd Gamblin
					Todd Gamblin