From fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 8 Jul 2015 20:46:52 -0400 Subject: Initial commit --- util/pkgclean | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100755 util/pkgclean (limited to 'util/pkgclean') diff --git a/util/pkgclean b/util/pkgclean new file mode 100755 index 00000000..639f0004 --- /dev/null +++ b/util/pkgclean @@ -0,0 +1,88 @@ +#!/bin/bash +# +# PKGCLEAN -- Clean the named package, or all packages from the system. +# +# Usage: pkgclean [-all] [-dist] [-init] +# +# Where -all clean all packages +# package to be removed +# +# ---------------------------------------------------------------------------- + + +all=no +init=no + +# Process cmdline flags. +while [ -n "$1" ]; do + case "$1" in + "-all") # clean all package .s + all=yes + ;; + "-init") # init all packages + init=yes + ;; + *) + pkg=$1 + break + ;; + esac + shift +done + + +if [ "$all" == "yes" ]; then + if [ -e ".repo_pkgs" ]; then + files=`cat .repo_pkgs` + for p in ${files[@]}; do + if [ -e $p ]; then + /bin/rm -rf $p + mkdir $p + + /bin/echo "" > .installed + /bin/echo "" > .zzexport .def= + fi + done + fi + +elif [ "$init" == "yes" ]; then + if [ -e ".repo_pkgs" ]; then + files=`cat .repo_pkgs` + for p in ${files[@]}; do + if [ -e $p ]; then + /bin/rm -rf $p + fi + done + fi + /bin/rm -rf Makefile >> /dev/null 2>&1 + /bin/rm -rf .installed >> /dev/null 2>&1 + /bin/rm -rf .repo* >> /dev/null 2>&1 + /bin/echo "" > .zzexport .def= + +else + if [ -e $pkg ]; then + /bin/rm -rf $pkg + mkdir $pkg + else + /bin/echo "Package '$pkg' is not currently installed" + exit 1 + fi +fi + + +# Normal exit. +exit 0 + + + +#============================================================================= +# Usage +#============================================================================= + +Usage: + /bin/echo "Usage: pkgclean [-all] [-dist] [-init] " + /bin/echo "" + /bin/echo " Where -all clean all packages" + /bin/echo " package to be removed" + +exit 0 -- cgit