diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2022-02-01 15:15:31 -0500 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2023-12-14 17:13:11 -0500 |
commit | 82af74f6a240a6ba834c0074cd151168a3c39a4b (patch) | |
tree | b7d58093b3aab221296d528d4010bfe7ceec0e3b | |
parent | 3768e9057d939cea2167002979cb229ac6883b48 (diff) |
[lddtree-parabola-packages]: initial script
-rwxr-xr-x | lddtree-parabola-packages | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lddtree-parabola-packages b/lddtree-parabola-packages new file mode 100755 index 0000000..8d51273 --- /dev/null +++ b/lddtree-parabola-packages @@ -0,0 +1,23 @@ +#!/bin/bash + +LogLibErr() { echo "ERROR: no lib $lib" >&2 ; } ; +LogPkgErr() { echo "ERROR: no pkg $pkg for lib $lib" >&2 ; } ; + +Main() +{ + local a_bin="$(which $1)" + + [[ -x "$a_bin" ]] || ! echo "USAGE: $0 <elf_file>" >&2 || return 1 + + for pkg in $( for lib in $(lddtree $a_bin | cut -d '>' -f 2 | sort -u) + do [[ -f "$lib" ]] && pkgfile $lib || LogLibErr + done | sort -u ) + do repo=${pkg/\/*/} + name=${pkg/*\//} + + [[ "$repo" =~ ^(libre|nonprism|nonsystem|pcr) ]] && echo "is parabola package: $pkg $name $repo" + done +} + + +Main "$@" |