summaryrefslogtreecommitdiff
path: root/lib/spack/spack/cmd/deactivate.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/spack/spack/cmd/deactivate.py')
-rw-r--r--lib/spack/spack/cmd/deactivate.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/spack/spack/cmd/deactivate.py b/lib/spack/spack/cmd/deactivate.py
index bfec618c8e..c9a4d4b2f6 100644
--- a/lib/spack/spack/cmd/deactivate.py
+++ b/lib/spack/spack/cmd/deactivate.py
@@ -44,6 +44,7 @@ def setup_parser(subparser):
def deactivate(parser, args):
+ # TODO: shouldn't have to concretize here. Fix DAG issues.
specs = spack.cmd.parse_specs(args.spec, concretize=True)
if len(specs) != 1:
tty.die("deactivate requires one spec. %d given." % len(specs))
@@ -59,6 +60,7 @@ def deactivate(parser, args):
if pkg.extendable:
tty.msg("Deactivating all extensions of %s" % pkg.spec.short_spec)
ext_pkgs = spack.db.installed_extensions_for(spec)
+
for ext_pkg in ext_pkgs:
ext_pkg.spec.normalize()
if ext_pkg.activated:
@@ -68,6 +70,9 @@ def deactivate(parser, args):
# TODO: store DAG info properly (see above)
spec.normalize()
+ if not args.force and not spec.package.activated:
+ tty.die("%s is not activated." % pkg.spec.short_spec)
+
tty.msg("Deactivating %s and all dependencies." % pkg.spec.short_spec)
topo_order = topological_sort(spec)