autils

Unnamed repository; edit this file 'description' to name the repository.
git clone https://codeberg.org/emmett1/autils
Log | Files | Refs | README | LICENSE

apkg-redundantdeps (781B)


      1 #!/bin/sh
      2 #
      3 # find redundant dependencies
      4 
      5 print_help() {
      6 	cat <<EOF	
      7 usage:
      8 	$0 [-f] <pkgs>
      9 	
     10 options:
     11 	-f  fix (remove) redundant pkg from depends
     12 	
     13 EOF
     14 exit 0
     15 }
     16 
     17 if [ "$1" ]; then
     18 	while [ "$1" ]; do
     19 		case $1 in
     20 			-f) fix=1;;
     21 			-h) print_help;;
     22 			*) pkg="$pkg $1";;
     23 		esac
     24 		shift
     25 	done
     26 fi
     27 
     28 [ "$pkg" ] || pkg=$(apkg -D $(apkg -s))
     29 
     30 for i in $pkg; do
     31 	[ "$(apkg -d $i )" ] || continue
     32 	for d in $(apkg -d $i); do
     33 		for dd in $(apkg -d $i); do
     34 			[ "$dd" = "$d" ] && continue
     35 			[ "$(apkg -D $d | grep -x $dd)" ] && {
     36 				echo "[$i] $dd (already pulled from $d)"
     37 				if [ "$fix" ]; then
     38 					sed -i "/^$dd$/d" $(apkg -p $i)/depends
     39 					echo " $dd is removed from $i depends"
     40 					[ -s $(apkg -p $i)/depends ] || rm $(apkg -p $i)/depends
     41 				fi
     42 			}
     43 		done
     44 	done
     45 done
     46 
     47 exit 0