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:
Doug Newgard 2014-09-21 16:21:18 -05:00 committed by Dave Reisner
parent 285a4e94cd
commit cae954ddb5
1 changed files with 5 additions and 6 deletions

View File

@ -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