checkpkg: improve soname checking
This makes soname checking much more robust and is explicit when a soname change is found.
This commit is contained in:
parent
285a4e94cd
commit
cae954ddb5
11
checkpkg.in
11
checkpkg.in
|
@ -63,12 +63,11 @@ for _pkgname in "${pkgname[@]}"; do
|
||||||
|
|
||||||
sdiff -s "$TEMPDIR/filelist-$_pkgname-old" "$TEMPDIR/filelist-$_pkgname"
|
sdiff -s "$TEMPDIR/filelist-$_pkgname-old" "$TEMPDIR/filelist-$_pkgname"
|
||||||
|
|
||||||
if diff "$TEMPDIR/filelist-$_pkgname"{-old,} | grep '\.so' &>/dev/null; then
|
find-libprovides "$TEMPDIR/$oldpkg" | sort > "$TEMPDIR/libraries-$_pkgname-old"
|
||||||
mkdir -p "$TEMPDIR/pkg"
|
find-libprovides "$pkgfile" | sort > "$TEMPDIR/libraries-$_pkgname"
|
||||||
bsdtar -x -C "$TEMPDIR" -f "$pkgfile" #> /dev/null
|
if ! diff_output="$(sdiff -s "$TEMPDIR/libraries-$_pkgname-old" "$TEMPDIR/libraries-$_pkgname")"; then
|
||||||
comm -13 <(sort "$TEMPDIR/filelist-$_pkgname-old") <(sort "$TEMPDIR/filelist-$_pkgname") | grep .so$ | while read i; do
|
msg "Sonames differ in $_pkgname!"
|
||||||
echo "${i}: " "$(objdump -p "$TEMPDIR/$i" | grep SONAME)"
|
echo "$diff_output"
|
||||||
done
|
|
||||||
else
|
else
|
||||||
msg "No soname differences for $_pkgname."
|
msg "No soname differences for $_pkgname."
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue