diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2019-07-15 19:30:01 +0200 |
---|---|---|
committer | Peter Scheibel <scheibel1@llnl.gov> | 2019-07-15 10:30:01 -0700 |
commit | 5acbe449e5840a7592e93d3ba35ff10e45ebc8a0 (patch) | |
tree | f6d27dc613b6cdfb3df18792cf9a1e225c0dbce7 /bin | |
parent | 68ad4caf30b0c213c1f00d23a1b3ea375d265644 (diff) | |
download | spack-5acbe449e5840a7592e93d3ba35ff10e45ebc8a0.tar.gz spack-5acbe449e5840a7592e93d3ba35ff10e45ebc8a0.tar.bz2 spack-5acbe449e5840a7592e93d3ba35ff10e45ebc8a0.tar.xz spack-5acbe449e5840a7592e93d3ba35ff10e45ebc8a0.zip |
spack uninstall can uninstall specs with multiple roots (#11977)
Fixes #3690
Fixes #5637
Uninstalling dependents of a spec was relying on a traversal of the
parents done by inspecting spec._dependents. This is in turn a
DependencyMap that maps a package name to a single DependencySpec object
(an edge in the DAG) and cannot thus model the case where a spec has
multiple configurations of the same parent package installed (for
example if different versions of the same Python library depend on
the same Python installation).
This commit works around this issue by constructing the list of specs to
be uninstalled in an alternative way, and adds tests to verify the
behavior. The core issue with DependencyMap is not resolved here.
Diffstat (limited to 'bin')
0 files changed, 0 insertions, 0 deletions