aboutsummaryrefslogtreecommitdiff
path: root/adeps
diff options
context:
space:
mode:
authoremmett1 <emmett1.2miligrams@protonmail.com>2024-03-26 00:32:56 +0800
committeremmett1 <emmett1.2miligrams@protonmail.com>2024-03-26 00:32:56 +0800
commitcf41ee19b9776b02b814dfde6bcd5051481d04c2 (patch)
treed8b54aae6f53958af36f27f12143f088ae09b55d /adeps
parent84ec73d5575ac42c88394b49507e09e3af99715a (diff)
downloadautils-cf41ee19b9776b02b814dfde6bcd5051481d04c2.tar.gz
autils-cf41ee19b9776b02b814dfde6bcd5051481d04c2.zip
scripts added
Diffstat (limited to 'adeps')
-rwxr-xr-xadeps29
1 files changed, 29 insertions, 0 deletions
diff --git a/adeps b/adeps
new file mode 100755
index 0000000..2ae07dc
--- /dev/null
+++ b/adeps
@@ -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