about summary refs log tree commit diff
path: root/xrevshlib
diff options
context:
space:
mode:
Diffstat (limited to 'xrevshlib')
-rwxr-xr-xxrevshlib14
1 files changed, 14 insertions, 0 deletions
diff --git a/xrevshlib b/xrevshlib
new file mode 100755
index 0000000..c533868
--- /dev/null
+++ b/xrevshlib
@@ -0,0 +1,14 @@
+#!/bin/sh
+# xrevshlib PACKAGE - list packages shlib-dependent on PACKAGE or its subpkgs
+
+pkg="${1?no package name given}"
+
+xsubpkg "$pkg" |
+	xargs -d'\n' -n1 -r xbps-query -R -p shlib-provides -S |
+	sed 's/\.so.*//' |
+	xargs -d'\n' -n1 -r xbps-query -R -p shlib-requires -s |
+	sed 's/-[^- ]*: .*//' |
+	sort -u |
+	xargs -d'\n' -n1 -r xsubpkg -m |
+	sort -u |
+	grep -Fvx "$(xsubpkg -m $pkg)"