aboutsummaryrefslogtreecommitdiff
path: root/contrib/cpt-reset
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/cpt-reset')
-rwxr-xr-xcontrib/cpt-reset24
1 files changed, 24 insertions, 0 deletions
diff --git a/contrib/cpt-reset b/contrib/cpt-reset
new file mode 100755
index 0000000..326cb80
--- /dev/null
+++ b/contrib/cpt-reset
@@ -0,0 +1,24 @@
+#!/bin/sh -ef
+# Remove all packages except for the base
+#
+# Disable word-splittng warnings as they're safe here.
+# shellcheck disable=SC2046
+
+set --
+
+while read -r pkg _; do
+ case $pkg in
+ baselayout|binutils|bison|busybox|bzip2|curl|flex|gcc|rsync|\
+ gzip|kiss|libressl|linux-headers|m4|make|musl|pkgconf|xz|zlib) ;;
+
+ *) set -- "$@" "$pkg" ;;
+ esac
+done <<EOF
+$(kiss l)
+EOF
+
+[ "$1" ] && {
+ printf 'WARNING: This will remove \033[1m%s\033[m package(s).\n' "$#"
+ printf 'Continue? [Enter/Ctrl+C]\n'
+ read -r _ && KISS_FORCE=1 kiss r "$@"
+}