Commit cae954dd authored by Doug Newgard's avatar Doug Newgard Committed by Dave Reisner
Browse files

checkpkg: improve soname checking

This makes soname checking much more robust and is explicit when a
soname change is found.
parent 285a4e94
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -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