autils

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

apkg-deps (590B)


      1 #!/bin/sh
      2 
      3 PKGDB=/var/lib/spm/db
      4 
      5 if [ ! "$1" ]; then
      6 	echo "usage: $0 <pkg>"
      7 	exit 0
      8 fi
      9 
     10 if [ ! -s "$PKGDB/$1" ]; then
     11 	echo "Package '$1' not installed"
     12 	exit 0
     13 fi
     14 
     15 f=$(spm -l $1 | awk '/(sbin|bin|lib)\//')
     16 
     17 for i in $f; do
     18 	[ -x /$i ] || continue
     19 	deps="$deps $(ldd /$i 2>/dev/null | awk '!/(ldd)|(linux-gate)|( dynamic)|(not found)/ {print $3}')"
     20 done
     21 
     22 deps=$(for i in $deps; do realpath $i; done | sort | uniq)
     23 pkg=$(for i in $deps; do spm -o $i | awk '{print $1}'; done | sort | uniq | grep -Ev "($1|gcc|musl|binutils|glibc)")
     24 
     25 if [ "$pkg" ]; then
     26 	echo $pkg | tr ' ' '\n'
     27 fi
     28 
     29 exit 0