#!/bin/sh # # find redundant dependencies print_help() { cat < options: -f fix (remove) redundant pkg from depends EOF exit 0 } if [ "$1" ]; then while [ "$1" ]; do case $1 in -f) fix=1;; -h) print_help;; *) pkg="$pkg $1";; esac shift done fi [ "$pkg" ] || pkg=$(apkg -D $(apkg -s)) for i in $pkg; do [ "$(apkg -d $i )" ] || continue for d in $(apkg -d $i); do for dd in $(apkg -d $i); do [ "$dd" = "$d" ] && continue [ "$(apkg -D $d | grep -x $dd)" ] && { echo "[$i] $dd (already pulled from $d)" if [ "$fix" ]; then sed -i "/^$dd$/d" $(apkg -p $i)/depends echo " $dd is removed from $i depends" [ -s $(apkg -p $i)/depends ] || rm $(apkg -p $i)/depends fi } done done done exit 0