Commit 40791b30 authored by Eric Bélanger's avatar Eric Bélanger Committed by Aaron Griffin
Browse files

checkpkg: Added split package support

parent db962d9b
Loading
Loading
Loading
Loading
+43 −40
Original line number Diff line number Diff line
@@ -26,8 +26,10 @@ source PKGBUILD
if [ "$arch" == "any" ]; then
    CARCH="any"
fi
pkgfile=${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}
oldstylepkgfile=${pkgname}-${pkgver}-${pkgrel}${PKGEXT}

for _pkgname in ${pkgname[@]}; do
    pkgfile=${_pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}
    oldstylepkgfile=${_pkgname}-${pkgver}-${pkgrel}${PKGEXT}

    if [ -f "$(pwd)/$pkgfile" ]; then
	pkgfile=$(pwd)/$pkgfile
@@ -42,10 +44,10 @@ else
	exit 1
    fi

tmp=`pacman -Spd --noconfirm $pkgname`
    tmp=`pacman -Spd --noconfirm $_pkgname`

    if [ $? -ne 0 ]; then
	echo "Couldn't download previous package."
	echo "Couldn't download previous package for $_pkgname."
	exit 1
    fi

@@ -54,7 +56,7 @@ pkgurl=`echo $tmp | rev | cut -d ' ' -f 1 | rev`
    oldpkg=`strip_url $pkgurl`

    if [ "$(basename $oldpkg)" = "$(basename $pkgfile)" ]; then
	echo "The built package is the one in the repo right now!"
	echo "The built package ($_pkgname) is the one in the repo right now!"
	exit 1
    fi

@@ -66,24 +68,25 @@ if [ ! -f $oldpkg ]; then
	fi
    fi

bsdtar tf $oldpkg > filelist-old
bsdtar tf "$pkgfile" > filelist
    bsdtar tf $oldpkg > filelist-$_pkgname-old
    bsdtar tf "$pkgfile" > filelist-$_pkgname

sort -o filelist filelist
sort -o filelist-old filelist-old
    sort -o filelist-$_pkgname filelist-$_pkgname
    sort -o filelist-$_pkgname-old filelist-$_pkgname-old

diff filelist-old filelist
    diff filelist-$_pkgname-old filelist-$_pkgname

if diff filelist-old filelist | grep '\.so\.' > /dev/null 2>&1; then
    if diff filelist-$_pkgname-old filelist-$_pkgname | grep '\.so\.' > /dev/null 2>&1; then
	mkdir -p pkg
	cd pkg
	bsdtar xf "$pkgfile" > /dev/null
	for i in `diff ../filelist-old ../filelist | grep \> | grep \.so\. | awk '{print $2}'`; do
	for i in `diff ../filelist-$_pkgname-old ../filelist-$_pkgname | grep \> | grep \.so\. | awk '{print $2}'`; do
	    echo -n "${i}: "
	    objdump -p $i | grep SONAME
	done
    else
	echo "No filename differences"
	echo "No filename differences for $_pkgname."
    fi
done

# vim:ft=sh:ts=4:sw=4:et: