blob: ee9bcdb23606d998fe05299c407f18c32d95dfb7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#!/bin/sh
# resolve .so dependencies using ldd
find_path() {
for i in /lib /usr/lib; do
[ -e "$i/$1" ] && echo "$i/$1" && return 0
done
return 1
}
resolve_links() {
local f
while [ $# -gt 0 ]; do
if [ -L "$1" ]; then
local f=$(readlink $1)
local p="$(find_path $f)"
# echo "following $p"
resolve_links $p
fi
echo "$1"
shift
done
}
find_deps() {
bin=$1
resolve_links $(ldd $bin 2>/dev/null | awk -F'=>' '{print $2}' | sed 's/(.*//')
}
while [ $# -gt 0 ]; do
find_deps $1 || exit 1
shift
done
|