summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Newgard <scimmia@archlinux.info>2014-09-21 16:21:18 -0500
committerDave Reisner <dreisner@archlinux.org>2014-10-01 20:25:59 -0400
commitcae954ddb5d35877eaaea588b84f932863714568 (patch)
treec51385701a2afb39c39834b824e9fc3bc136ae1e
parent285a4e94cdee62cae155abcec4daeeffd709e900 (diff)
checkpkg: improve soname checking
This makes soname checking much more robust and is explicit when a soname change is found.
-rw-r--r--checkpkg.in11
1 files changed, 5 insertions, 6 deletions
diff --git a/checkpkg.in b/checkpkg.in
index ccbbecd..6ba04ed 100644
--- a/checkpkg.in
+++ b/checkpkg.in
@@ -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