diff options
author | Peter Scheibel <scheibel1@llnl.gov> | 2022-11-07 19:24:51 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-08 03:24:51 +0000 |
commit | 1a3415619ed8e250cf473efdfda1f0e2119d9c3d (patch) | |
tree | 0119a607598dcf2042c66abbb50ecc7c295fb2f5 /CITATION.cff | |
parent | 84a3d32aa36f8af902ef67a58ce1944050bd7e1d (diff) | |
download | spack-1a3415619ed8e250cf473efdfda1f0e2119d9c3d.tar.gz spack-1a3415619ed8e250cf473efdfda1f0e2119d9c3d.tar.bz2 spack-1a3415619ed8e250cf473efdfda1f0e2119d9c3d.tar.xz spack-1a3415619ed8e250cf473efdfda1f0e2119d9c3d.zip |
"spack uninstall": don't modify env (#33711)
"spack install foo" no longer adds package "foo" to the environment
(i.e. to the list of root specs) by default: you must specify "--add".
Likewise "spack uninstall foo" no longer removes package "foo" from
the environment: you must specify --remove. Generally this means
that install/uninstall commands will no longer modify the users list
of root specs (which many users found problematic: they had to
deactivate an environment if they wanted to uninstall a spec without
changing their spack.yaml description).
In more detail: if you have environments e1 and e2, and specs [P, Q, R]
such that P depends on R, Q depends on R, [P, R] are in e1, and [Q, R]
are in e2:
* `spack uninstall --dependents --remove r` in e1: removes R from e1
(but does not uninstall it) and uninstalls (and removes) P
* `spack uninstall -f --dependents r` in e1: will uninstall P, Q, and
R (i.e. e2 will have dependent specs uninstalled as a side effect)
* `spack uninstall -f --dependents --remove r` in e1: this uninstalls
P, Q, and R, and removes [P, R] from e1
* `spack uninstall -f --remove r` in e1: uninstalls R (so it is
"missing" in both environments) and removes R from e1 (note that e1
would still install R as a dependency of P, but it would no longer
be listed as a root spec)
* `spack uninstall --dependents r` in e1: will fail because e2 needs R
Individual unit tests were created for each of these scenarios.
Diffstat (limited to 'CITATION.cff')
0 files changed, 0 insertions, 0 deletions