25 lines
896 B
Bash
25 lines
896 B
Bash
#!/usr/bin/env bash
|
|||
|
|
# Generate repair.txt: bind-mapping of good overlay copies over corrupt
|
||
|
|
# persist /usr/lib entities. Format per line: <chroot-src>|<chroot-dst>
|
||
|
|
set -uo pipefail
|
||
|
|
X=/home/deshab/xorg-libs
|
||
|
|
P=/home/deshab/plasma-libs
|
||
|
|
OUT=$X/repair.txt
|
||
|
|
: > "$OUT"
|
||
|
|
n=0; miss=0
|
||
|
|
while read -r name; do
|
||
|
|
[ -z "$name" ] && continue
|
||
|
|
src=""
|
||
|
|
if [ -e "$X/$name" ]; then src="$X/$name"
|
||
|
|
elif [ -e "$P/$name" ]; then src="$P/$name"
|
||
|
|
else miss=$((miss+1)); echo "MISSING:$name" >> "$OUT.missing"; continue; fi
|
||
|
|
# chroot-view source path (overlay dirs are bound at /usr/local/lib/*)
|
||
|
|
case "$src" in
|
||
|
|
$X/*) csrc="/usr/local/lib/xorg-libs/${src#$X/}" ;;
|
||
|
|
$P/*) csrc="/usr/local/lib/plasma-libs/${src#$P/}" ;;
|
||
|
|
esac
|
||
|
|
printf '%s|%s\n' "$csrc" "/usr/lib/$name" >> "$OUT"
|
||
|
|
n=$((n+1))
|
||
|
|
done < /home/deshab/notelf_list.txt
|
||
|
|
echo "mapped=$n missing=$miss -> $OUT"
|
||
|
|
wc -l "$OUT"
|