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"
if diff "$TEMPDIR/filelist-$_pkgname"{-old,} | grep '\.so' &>/dev/null; then
mkdir -p "$TEMPDIR/pkg"
bsdtar -x -C "$TEMPDIR" -f "$pkgfile" #> /dev/null
comm -13 <(sort "$TEMPDIR/filelist-$_pkgname-old") <(sort "$TEMPDIR/filelist-$_pkgname") | grep .so$ | while read i; do
echo "${i}: " "$(objdump -p "$TEMPDIR/$i" | grep SONAME)"
done
find-libprovides "$TEMPDIR/$oldpkg" | sort > "$TEMPDIR/libraries-$_pkgname-old"
find-libprovides "$pkgfile" | sort > "$TEMPDIR/libraries-$_pkgname"
if ! diff_output="$(sdiff -s "$TEMPDIR/libraries-$_pkgname-old" "$TEMPDIR/libraries-$_pkgname")"; then
msg "Sonames differ in $_pkgname!"
echo "$diff_output"
else
msg "No soname differences for $_pkgname."
fi