init: convert spack.dirty global to config option
This commit is contained in:
parent
278933e824
commit
2ab7b7a5a0
@ -44,11 +44,6 @@
|
||||
binary_cache_retrieved_specs = set()
|
||||
|
||||
|
||||
# If this is True, spack will not clean the environment to remove
|
||||
# potentially harmful variables before builds.
|
||||
dirty = spack.config.get('config:dirty', False)
|
||||
|
||||
|
||||
#: The number of jobs to use when building in parallel.
|
||||
#: By default, use all cores on the machine.
|
||||
build_jobs = spack.config.get('config:build_jobs', multiprocessing.cpu_count())
|
||||
|
@ -26,6 +26,7 @@
|
||||
import argparse
|
||||
|
||||
import spack.cmd
|
||||
import spack.config
|
||||
import spack.modules
|
||||
import spack.spec
|
||||
import spack.store
|
||||
@ -52,7 +53,7 @@ def add_common_arguments(parser, list_of_arguments):
|
||||
|
||||
|
||||
class ConstraintAction(argparse.Action):
|
||||
"""Constructs a list of specs based on a constraint given on the command line
|
||||
"""Constructs a list of specs based on constraints from the command line
|
||||
|
||||
An instance of this class is supposed to be used as an argument action
|
||||
in a parser. It will read a constraint and will attach a function to the
|
||||
@ -82,23 +83,6 @@ def _specs(self, **kwargs):
|
||||
return sorted(specs)
|
||||
|
||||
|
||||
class CleanOrDirtyAction(argparse.Action):
|
||||
"""Sets the dirty flag in the current namespace"""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
kwargs['default'] = spack.dirty
|
||||
super(CleanOrDirtyAction, self).__init__(*args, **kwargs)
|
||||
|
||||
def __call__(self, parser, namespace, values, option_string=None):
|
||||
if option_string == '--clean':
|
||||
setattr(namespace, self.dest, False)
|
||||
elif option_string == '--dirty':
|
||||
setattr(namespace, self.dest, True)
|
||||
else:
|
||||
msg = 'expected "--dirty" or "--clean" [got {0} instead]'
|
||||
raise argparse.ArgumentError(msg.format(option_string))
|
||||
|
||||
|
||||
_arguments['constraint'] = Args(
|
||||
'constraint', nargs=argparse.REMAINDER, action=ConstraintAction,
|
||||
help='constraint to select a subset of installed packages')
|
||||
@ -107,7 +91,7 @@ def __call__(self, parser, namespace, values, option_string=None):
|
||||
'-m', '--module-type',
|
||||
choices=spack.modules.module_types.keys(),
|
||||
action='append',
|
||||
help='type of module file. More than one choice is allowed [default: tcl]') # NOQA: ignore=E501
|
||||
help='type of module file. More than one choice is allowed [default: tcl]')
|
||||
|
||||
_arguments['yes_to_all'] = Args(
|
||||
'-y', '--yes-to-all', action='store_true', dest='yes_to_all',
|
||||
@ -119,18 +103,17 @@ def __call__(self, parser, namespace, values, option_string=None):
|
||||
|
||||
_arguments['clean'] = Args(
|
||||
'--clean',
|
||||
action=CleanOrDirtyAction,
|
||||
action='store_false',
|
||||
default=spack.config.get('config:dirty'),
|
||||
dest='dirty',
|
||||
help='sanitize the environment from variables that can affect how ' +
|
||||
' packages find libraries or headers',
|
||||
nargs=0)
|
||||
help='unset harmful variables in the build environment (default)')
|
||||
|
||||
_arguments['dirty'] = Args(
|
||||
'--dirty',
|
||||
action=CleanOrDirtyAction,
|
||||
action='store_true',
|
||||
default=spack.config.get('config:dirty'),
|
||||
dest='dirty',
|
||||
help='maintain the current environment without trying to sanitize it',
|
||||
nargs=0)
|
||||
help='preserve user environment in the spack build environment (danger!)')
|
||||
|
||||
_arguments['long'] = Args(
|
||||
'-l', '--long', action='store_true',
|
||||
|
@ -31,7 +31,6 @@
|
||||
import spack.cmd.common.arguments as arguments
|
||||
|
||||
|
||||
|
||||
description = "patch expanded archive sources in preparation for install"
|
||||
section = "build"
|
||||
level = "long"
|
||||
|
@ -31,8 +31,9 @@
|
||||
import llnl.util.filesystem as fs
|
||||
|
||||
import spack
|
||||
import spack.cmd.install
|
||||
import spack.config
|
||||
import spack.package
|
||||
import spack.cmd.install
|
||||
from spack.error import SpackError
|
||||
from spack.spec import Spec
|
||||
from spack.main import SpackCommand
|
||||
@ -125,7 +126,7 @@ def test_install_package_already_installed(
|
||||
|
||||
|
||||
@pytest.mark.parametrize('arguments,expected', [
|
||||
([], spack.dirty), # The default read from configuration file
|
||||
([], spack.config.get('config:dirty')), # default from config file
|
||||
(['--clean'], False),
|
||||
(['--dirty'], True),
|
||||
])
|
||||
|
Loading…
Reference in New Issue
Block a user