diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/cmd/__init__.py | 20 | ||||
-rw-r--r-- | lib/spack/spack/cmd/compiler.py | 8 | ||||
-rw-r--r-- | lib/spack/spack/cmd/config.py | 3 | ||||
-rw-r--r-- | lib/spack/spack/cmd/mirror.py | 6 | ||||
-rw-r--r-- | lib/spack/spack/cmd/repo.py | 6 | ||||
-rw-r--r-- | lib/spack/spack/config.py | 20 | ||||
-rw-r--r-- | lib/spack/spack/modules/lmod.py | 10 |
7 files changed, 39 insertions, 34 deletions
diff --git a/lib/spack/spack/cmd/__init__.py b/lib/spack/spack/cmd/__init__.py index 1a58560f66..ede2296881 100644 --- a/lib/spack/spack/cmd/__init__.py +++ b/lib/spack/spack/cmd/__init__.py @@ -40,26 +40,6 @@ import spack.store from spack.error import SpackError -# -# Settings for commands that modify configuration -# -def default_modify_scope(): - """Return the config scope that commands should modify by default. - - Commands that modify configuration by default modify the *highest* - priority scope. - """ - return spack.config.config.highest_precedence_scope().name - - -def default_list_scope(): - """Return the config scope that is listed by default. - - Commands that list configuration list *all* scopes (merged) by default. - """ - return None - - # cmd has a submodule called "list" so preserve the python list module python_list = list diff --git a/lib/spack/spack/cmd/compiler.py b/lib/spack/spack/cmd/compiler.py index 186e6adf7f..687c62e86d 100644 --- a/lib/spack/spack/cmd/compiler.py +++ b/lib/spack/spack/cmd/compiler.py @@ -56,7 +56,7 @@ def setup_parser(subparser): find_parser.add_argument('add_paths', nargs=argparse.REMAINDER) find_parser.add_argument( '--scope', choices=scopes, metavar=scopes_metavar, - default=spack.cmd.default_modify_scope(), + default=spack.config.default_modify_scope(), help="configuration scope to modify") # Remove @@ -68,14 +68,14 @@ def setup_parser(subparser): remove_parser.add_argument('compiler_spec') remove_parser.add_argument( '--scope', choices=scopes, metavar=scopes_metavar, - default=spack.cmd.default_modify_scope(), + default=spack.config.default_modify_scope(), help="configuration scope to modify") # List list_parser = sp.add_parser('list', help='list available compilers') list_parser.add_argument( '--scope', choices=scopes, metavar=scopes_metavar, - default=spack.cmd.default_list_scope(), + default=spack.config.default_list_scope(), help="configuration scope to read from") # Info @@ -83,7 +83,7 @@ def setup_parser(subparser): info_parser.add_argument('compiler_spec') info_parser.add_argument( '--scope', choices=scopes, metavar=scopes_metavar, - default=spack.cmd.default_list_scope(), + default=spack.config.default_list_scope(), help="configuration scope to read from") diff --git a/lib/spack/spack/cmd/config.py b/lib/spack/spack/cmd/config.py index 10ab4c667b..78d45e22f1 100644 --- a/lib/spack/spack/cmd/config.py +++ b/lib/spack/spack/cmd/config.py @@ -23,6 +23,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## import spack.config + from spack.util.editor import editor description = "get and set configuration options" @@ -75,7 +76,7 @@ def config_blame(args): def config_edit(args): if not args.scope: if args.section == 'compilers': - args.scope = spack.cmd.default_modify_scope() + args.scope = spack.config.default_modify_scope() else: args.scope = 'user' if not args.section: diff --git a/lib/spack/spack/cmd/mirror.py b/lib/spack/spack/cmd/mirror.py index 0ab2dc4424..f42e990329 100644 --- a/lib/spack/spack/cmd/mirror.py +++ b/lib/spack/spack/cmd/mirror.py @@ -78,7 +78,7 @@ def setup_parser(subparser): 'url', help="url of mirror directory from 'spack mirror create'") add_parser.add_argument( '--scope', choices=scopes, metavar=scopes_metavar, - default=spack.cmd.default_modify_scope(), + default=spack.config.default_modify_scope(), help="configuration scope to modify") # Remove @@ -87,14 +87,14 @@ def setup_parser(subparser): remove_parser.add_argument('name') remove_parser.add_argument( '--scope', choices=scopes, metavar=scopes_metavar, - default=spack.cmd.default_modify_scope(), + default=spack.config.default_modify_scope(), help="configuration scope to modify") # List list_parser = sp.add_parser('list', help=mirror_list.__doc__) list_parser.add_argument( '--scope', choices=scopes, metavar=scopes_metavar, - default=spack.cmd.default_list_scope(), + default=spack.config.default_list_scope(), help="configuration scope to read from") diff --git a/lib/spack/spack/cmd/repo.py b/lib/spack/spack/cmd/repo.py index 802dbd3950..6a25e03e91 100644 --- a/lib/spack/spack/cmd/repo.py +++ b/lib/spack/spack/cmd/repo.py @@ -54,7 +54,7 @@ def setup_parser(subparser): list_parser = sp.add_parser('list', help=repo_list.__doc__) list_parser.add_argument( '--scope', choices=scopes, metavar=scopes_metavar, - default=spack.cmd.default_list_scope(), + default=spack.config.default_list_scope(), help="configuration scope to read from") # Add @@ -63,7 +63,7 @@ def setup_parser(subparser): 'path', help="path to a Spack package repository directory") add_parser.add_argument( '--scope', choices=scopes, metavar=scopes_metavar, - default=spack.cmd.default_modify_scope(), + default=spack.config.default_modify_scope(), help="configuration scope to modify") # Remove @@ -74,7 +74,7 @@ def setup_parser(subparser): help="path or namespace of a Spack package repository") remove_parser.add_argument( '--scope', choices=scopes, metavar=scopes_metavar, - default=spack.cmd.default_modify_scope(), + default=spack.config.default_modify_scope(), help="configuration scope to modify") diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py index c1216450b1..f1f9e8da95 100644 --- a/lib/spack/spack/config.py +++ b/lib/spack/spack/config.py @@ -752,6 +752,26 @@ def _merge_yaml(dest, source): return copy.copy(source) +# +# Settings for commands that modify configuration +# +def default_modify_scope(): + """Return the config scope that commands should modify by default. + + Commands that modify configuration by default modify the *highest* + priority scope. + """ + return spack.config.config.highest_precedence_scope().name + + +def default_list_scope(): + """Return the config scope that is listed by default. + + Commands that list configuration list *all* scopes (merged) by default. + """ + return None + + class ConfigError(SpackError): """Superclass for all Spack config related errors.""" diff --git a/lib/spack/spack/modules/lmod.py b/lib/spack/spack/modules/lmod.py index a057f2bf3a..858b01a395 100644 --- a/lib/spack/spack/modules/lmod.py +++ b/lib/spack/spack/modules/lmod.py @@ -92,11 +92,15 @@ def guess_core_compilers(store=False): if store and core_compilers: # If we asked to store core compilers, update the entry - # at 'site' scope (i.e. within the directory hierarchy + # in the default modify scope (i.e. within the directory hierarchy # of Spack itself) - modules_cfg = spack.config.get('modules', scope='site') + modules_cfg = spack.config.get( + 'modules', scope=spack.config.default_modify_scope() + ) modules_cfg.setdefault('lmod', {})['core_compilers'] = core_compilers - spack.config.set('modules', modules_cfg, scope='site') + spack.config.set( + 'modules', modules_cfg, scope=spack.config.default_modify_scope() + ) return core_compilers or None |