spack uninstall: improve help message (#16886)
fixes #12527 Mention that specs can be uninstalled by hash also in the help message. Reference `spack gc` in case people are looking for ways to clean the store from build time dependencies. Use "spec" instead of "package" to avoid ambiguity in the error message.
This commit is contained in:
parent
322a12e801
commit
0762d8356d
@ -26,7 +26,8 @@
|
||||
|
||||
error_message = """You can either:
|
||||
a) use a more specific spec, or
|
||||
b) use `spack uninstall --all` to uninstall ALL matching specs.
|
||||
b) specify the spec by its hash (e.g. `spack uninstall /hash`), or
|
||||
c) use `spack uninstall --all` to uninstall ALL matching specs.
|
||||
"""
|
||||
|
||||
# Arguments for display_specs when we find ambiguity
|
||||
@ -39,6 +40,18 @@
|
||||
|
||||
|
||||
def setup_parser(subparser):
|
||||
epilog_msg = ("Specs to be uninstalled are specified using the spec syntax"
|
||||
" (`spack help --spec`) and can be identified by their "
|
||||
"hashes. To remove packages that are needed only at build "
|
||||
"time and were not explicitly installed see `spack gc -h`."
|
||||
"\n\nWhen using the --all option ALL packages matching the "
|
||||
"supplied specs will be uninstalled. For instance, "
|
||||
"`spack uninstall --all libelf` uninstalls all the versions "
|
||||
"of `libelf` currently present in Spack's store. If no spec "
|
||||
"is supplied, all installed packages will be uninstalled. "
|
||||
"If used in an environment, all packages in the environment "
|
||||
"will be uninstalled.")
|
||||
subparser.epilog = epilog_msg
|
||||
subparser.add_argument(
|
||||
'-f', '--force', action='store_true', dest='force',
|
||||
help="remove regardless of whether other packages or environments "
|
||||
@ -47,12 +60,8 @@ def setup_parser(subparser):
|
||||
subparser, ['recurse_dependents', 'yes_to_all', 'installed_specs'])
|
||||
subparser.add_argument(
|
||||
'-a', '--all', action='store_true', dest='all',
|
||||
help="USE CAREFULLY. Remove ALL installed packages that match each "
|
||||
"supplied spec. i.e., if you `uninstall --all libelf`,"
|
||||
" ALL versions of `libelf` are uninstalled. If no spec is "
|
||||
"supplied, all installed packages will be uninstalled. "
|
||||
"If used in an environment, all packages in the environment "
|
||||
"will be uninstalled.")
|
||||
help="remove ALL installed packages that match each supplied spec"
|
||||
)
|
||||
|
||||
|
||||
def find_matching_specs(env, specs, allow_multiple_matches=False, force=False):
|
||||
|
Loading…
Reference in New Issue
Block a user