#!/bin/sh -e # # script for purge package and its dependencies from system purge() { for j in $(apkg -j $1); do [ "$(apkg -a ^$j$)" ] && { echo "[$1] dependent package is installed: $j" error=1 } done [ "$error" ] && return 1 for i in $(apkg -d $1); do [ "$(apkg -a ^$i$)" ] || continue for d in $(apkg -j $i); do [ "$d" = "$1" ] && continue [ "$(apkg -a ^$d$)" ] && continue 2 done if [ "$purgeit" ]; then spm -r $i else echo $i fi done if [ "$purgeit" ]; then spm -r $1 else echo $1 fi } help() { cat < option: -p remove from system EOF exit 0 } while [ "$1" ]; do case $1 in -p) purgeit=1;; -h) help;; *) pkg="$pkg $1";; esac shift done for p in $pkg; do apkg -p $p >/dev/null || continue # skip if package not exist in repo apkg -a | grep -qx $p || continue # skip if package not installed purge $p done exit 0