Skip to content

Commit f0936bf

Browse files
authored
chore(base): refactor scanelp to improve library querying
1 parent f86df9a commit f0936bf

1 file changed

Lines changed: 22 additions & 5 deletions

File tree

  • debootstrap/trixie/rootfs/usr/bin
Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,25 @@
11
#!/bin/bash
22

3-
find "$1" -type f -executable -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \
4-
| tr ',' '\n' \
3+
query_package() {
4+
local lib="$1"
5+
[ ! -e "$lib" ] && return
6+
7+
local target_lib
8+
if [ -L "$lib" ]; then
9+
target_lib=$(readlink -f "$lib")
10+
[ ! -e "$target_lib" ] && target_lib="$lib"
11+
else
12+
target_lib="$lib"
13+
fi
14+
15+
dpkg -S "$target_lib" 2>/dev/null | cut -d: -f1 || \
16+
dpkg -S "*$(basename "$target_lib")*" 2>/dev/null | head -1 | cut -d: -f1
17+
}
18+
19+
find "$1" -type f -executable -exec ldd '{}' ';' 2>/dev/null \
20+
| awk '/=> \// {print $3}' \
521
| sort -u \
6-
| xargs -rt dpkg -S 2>/dev/null \
7-
| awk -F ": " '{print $1}' \
8-
| sort -u
22+
| while read -r lib; do
23+
[ -n "$lib" ] && query_package "$lib"
24+
done \
25+
| sort -u

0 commit comments

Comments
 (0)