diff options
author | merakor <cem@ckyln.com> | 2022-02-02 11:57:14 +0000 |
---|---|---|
committer | merakor <cem@ckyln.com> | 2022-02-02 11:57:14 +0000 |
commit | 1464395938e2fe1ffc711bd3d10d27c0daf8986d (patch) | |
tree | 010953742bb1556feef131dc0485c4febedebf46 /contrib/cpt-reset | |
parent | b65f41e4644c4e618535d2e50e9bb685ab7e5556 (diff) | |
parent | fbc04171c1f8afc5e95ea736f1d4668141659d7f (diff) | |
download | cpt-1464395938e2fe1ffc711bd3d10d27c0daf8986d.tar.gz |
merge 6.2.3 release
FossilOrigin-Name: e08132c5cac34d5b3635961ee24a3eed506c7eac5ffd0f76639b4f3dd908d23e
Diffstat (limited to 'contrib/cpt-reset')
-rwxr-xr-x | contrib/cpt-reset | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/contrib/cpt-reset b/contrib/cpt-reset index 85142af..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,15 +12,13 @@ ## 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" } -# shellcheck source=../src/cpt-lib . cpt-lib - base=$(pkg_get_base nonl) set -- @@ -29,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_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 "$@" |