diff options
author | merakor <cem@ckyln.com> | 2022-02-02 11:08:30 +0000 |
---|---|---|
committer | merakor <cem@ckyln.com> | 2022-02-02 11:08:30 +0000 |
commit | 629a1313a449157f46329c35ab996499507e13ff (patch) | |
tree | ba74fa4b56bd0f4d0ff100a179f7326396cf9b3c /contrib/cpt-reset | |
parent | c0a512c8b01ad074d6203e80f7be721e12df24cd (diff) | |
download | cpt-629a1313a449157f46329c35ab996499507e13ff.tar.gz |
cpt-reset: increase verbosity by a lot
FossilOrigin-Name: 5f71dc65a577d4597c0dcb4e73ca0796f529f8eb6f4e01ecbeed385bdba99bd8
Diffstat (limited to 'contrib/cpt-reset')
-rwxr-xr-x | contrib/cpt-reset | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/contrib/cpt-reset b/contrib/cpt-reset index 2a1b66e..a2336e3 100755 --- a/contrib/cpt-reset +++ b/contrib/cpt-reset @@ -3,6 +3,7 @@ # # Disable word-splittng warnings as they're safe here. # shellcheck disable=SC2046 +# shellcheck source=../src/cpt-lib ## SYNOPSIS: ## .Nm @@ -11,10 +12,10 @@ ## removes all packages from the system that is not defined as a base package in ## .Pa /etc/cpt-base . -[ "$1" ] && { - printf 'usage: %s\n\nRemove all packages not defined in the base.\n' \ - "${0##*/}" - exit 0 +parser_definition() { + setup REST help:usage -- "usage: ${0##*/}" + global_options compact + msg -- '' "Remove all packages outside of base definition" } . cpt-lib @@ -27,9 +28,14 @@ set +f; for pkg in *; do contains "$base" "$pkg" || set -- "$pkg" "$@" done -[ "$1" ] && { - printf 'WARNING: This will remove \033[1m%s\033[m package(s).\n' "$#" - printf 'Base packages can be redefined in %s\n' "$CPT_ROOT/etc/cpt-base" - printf 'Continue? [Enter/Ctrl+C]\n' - read -r _ && CPT_FORCE=1 cpt-remove "$@" +[ -z "$1" ] && { + log "No package outside of the base definition could be found, not continuing." + exit 0 } + +warn "" "This is a potentially harmful operation, do NOT continue unless" +warn "" "you know exactly what you are doing. Continuing will remove $#" +warn "" "packages that are not listed in the base definition or that the" +warn "" "base packages don't depend on. See the CPT BASE section on the" +warn "" "user manual to learn more." +prompt && cpt-remove "$@" |