Files
Deshab-OS/CODE/linux/tmp_inspect_xlibs.sh
T

37 lines
1.1 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
set -u
IMG=/home/deshab/deshab-dev.img
L=$(losetup --find --show --partscan "$IMG")
sleep 0.3
M=$(mktemp -d)
mount -o ro "${L}p1" "$M"
R=$(mktemp -d)
mount -o loop,ro "$M/boot/linux-rootfs.img" "$R"
XL="$R/usr/local/lib/xorg-libs"
echo "== xorg-libs count =="
ls "$XL" | wc -l
echo "== libc/libdbus/ld in overlay =="
ls -la "$XL" | grep -E 'libc|libdbus|ld-linux' || echo "(none in overlay)"
echo "== full listing =="
ls "$XL"
echo "== ELF health scan of overlay =="
bad=0
for f in "$XL"/*; do
[ -f "$f" ] || continue
t=$(file -b "$f")
case "$t" in
*ELF*) ;;
*"symbolic link"*) ;;
*) echo "BAD: $(basename "$f"): $t"; bad=$((bad+1));;
esac
done
echo "bad=$bad"
echo "== which libc would win: LD_LIBRARY_PATH=/usr/local/lib/xorg-libs =="
ls -la "$XL/libc.so.6" 2>/dev/null || echo "no libc.so.6 in overlay -> persist /usr/lib/libc.so.6 wins"
echo "== persist-side libc check inside vdb rootfs =="
ls -la "$R"/usr/lib/libc.so.6 "$R"/usr/lib/libdbus-1.so.3* 2>/dev/null
file "$R"/usr/lib/libc.so.6 2>/dev/null
umount "$R"; rmdir "$R"
umount "$M"; rmdir "$M"
losetup -d "$L"