diff options
| author | emmett1 <emmett1.2miligrams@protonmail.com> | 2024-05-22 00:04:45 +0800 |
|---|---|---|
| committer | emmett1 <emmett1.2miligrams@protonmail.com> | 2024-05-22 00:04:45 +0800 |
| commit | 7f803249b673228189421c37c5f5fbf4b3d79c3f (patch) | |
| tree | dcb532a3ecab23589f54843c48194afd48f93656 /apkg-deps | |
| parent | cf7e15afc0af0b15436a79d125703af5105be67b (diff) | |
| download | autils-7f803249b673228189421c37c5f5fbf4b3d79c3f.tar.gz autils-7f803249b673228189421c37c5f5fbf4b3d79c3f.zip | |
updated
Diffstat (limited to 'apkg-deps')
| -rwxr-xr-x | apkg-deps | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/apkg-deps b/apkg-deps new file mode 100755 index 0000000..2ae07dc --- /dev/null +++ b/apkg-deps @@ -0,0 +1,29 @@ +#!/bin/sh + +PKGDB=/var/lib/spm/db + +if [ ! "$1" ]; then + echo "usage: $0 <pkg>" + exit 0 +fi + +if [ ! -s "$PKGDB/$1" ]; then + echo "Package '$1' not installed" + exit 0 +fi + +f=$(spm -l $1 | awk '/(sbin|bin|lib)\//') + +for i in $f; do + [ -x /$i ] || continue + deps="$deps $(ldd /$i 2>/dev/null | awk '!/(ldd)|(linux-gate)|( dynamic)|(not found)/ {print $3}')" +done + +deps=$(for i in $deps; do realpath $i; done | sort | uniq) +pkg=$(for i in $deps; do spm -o $i | awk '{print $1}'; done | sort | uniq | grep -v $1) + +if [ "$pkg" ]; then + echo $pkg | tr ' ' '\n' +fi + +exit 0 |