Allow forced deactivation -- best effort unlinking

spack deactivate -f will unlink even if Spack thinks the package isn't enabled.
Made deactivate routines idempotent.
This commit is contained in:
Todd Gamblin
2015-02-16 12:41:22 -08:00
parent 8aa3afcfde
commit 614c22fc1b
4 changed files with 15 additions and 4 deletions

View File

@@ -175,6 +175,10 @@ def unmerge(self, dest_root, **kwargs):
kwargs['order'] = 'post'
for src, dest in traverse_tree(self._root, dest_root, **kwargs):
if os.path.isdir(src):
# Skip non-existing links.
if not os.path.exists(dest):
continue
if not os.path.isdir(dest):
raise ValueError("File blocks directory: %s" % dest)