Ths is a little patch to check the integrity of the uploaded file after uploading it. It will avoid problems like the ones with kernel26 or openoffice-base recently. Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
97 lines
2.1 KiB
Bash
Executable File
97 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
source /etc/makepkg.conf
|
|
|
|
cmd=`basename $0`
|
|
|
|
if [ ! -f PKGBUILD ]; then
|
|
echo "No PKGBUILD file"
|
|
exit 1
|
|
fi
|
|
|
|
source PKGBUILD
|
|
pkgfile=${pkgname}-${pkgver}-${pkgrel}-${CARCH}.pkg.tar.gz
|
|
oldstylepkgfile=${pkgname}-${pkgver}-${pkgrel}.pkg.tar.gz
|
|
|
|
if [ ! -f $pkgfile ]; then
|
|
if [ -f $PKGDEST/$pkgfile ]; then
|
|
pkgfile=$PKGDEST/$pkgfile
|
|
oldstylepkgfile=$PKGDEST/$oldstylepkgfile
|
|
elif [ -f $oldstylepkgfile ]; then
|
|
pkgfile=$oldstylepkgfile
|
|
elif [ -f $PKGDEST/$oldstylepkgfile ]; then
|
|
pkgfile=$PKGDEST/$oldstylepkgfile
|
|
else
|
|
echo "File $pkgfile doesn't exist"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ "$cmd" == "extrapkg" ]; then
|
|
repo="extra"
|
|
tag="CURRENT"
|
|
elif [ "$cmd" == "corepkg" ]; then
|
|
repo="core"
|
|
tag="CURRENT"
|
|
elif [ "$cmd" == "testingpkg" ]; then
|
|
repo="testing"
|
|
tag="TESTING"
|
|
elif [ "$cmd" == "unstablepkg" ]; then
|
|
repo="unstable"
|
|
tag="CURRENT"
|
|
elif [ "$cmd" == "communitypkg" ]; then
|
|
repo="community"
|
|
tag="CURRENT"
|
|
fi
|
|
|
|
if [ "$repo" != "community" ]; then
|
|
scp $pkgfile archlinux.org:staging/$repo/add
|
|
if [ "$(md5sum $pkgfile | cut -d' ' -f1)" != "$(ssh archlinux.org md5sum staging/${repo}/add/$pkgfile | cut -d' ' -f1)" ]; then
|
|
echo "File got corrupted during upload, cancelled."
|
|
exit 1
|
|
else
|
|
echo "File integrity okay."
|
|
fi
|
|
else
|
|
if [ ! -f ~/.tupkg ]; then
|
|
echo "Must configure tupkg via ~/.tupkg, cancelled"
|
|
exit 1
|
|
fi
|
|
if [ "$(basename $pkgfile)" != "$(basename $oldstylepkgfile)" ]; then
|
|
echo "Renaming makepkg3 package for compatability"
|
|
mv $pkgfile $oldstylepkgfile
|
|
pkgfile=$oldstylepkgfile
|
|
fi
|
|
tupkg $pkgfile
|
|
fi
|
|
if [ $? -ne 0 ]; then
|
|
echo "Cancelled"
|
|
exit 1
|
|
fi
|
|
echo "===> Uploaded $pkgfile"
|
|
|
|
if [ "$1" != "" ]; then
|
|
cvs commit -m "upgpkg: $pkgname $pkgver-$pkgrel
|
|
$1" > /dev/null
|
|
if [ $? -ne 0 ]; then
|
|
echo "Cancelled"
|
|
exit 1
|
|
fi
|
|
echo "===> Commited with \"upgpkg: $pkgname $pkgver-$pkgrel
|
|
$1\" message"
|
|
else
|
|
cvs commit -m "upgpkg: $pkgname $pkgver-$pkgrel" > /dev/null
|
|
if [ $? -ne 0 ]; then
|
|
echo "Cancelled"
|
|
exit 1
|
|
fi
|
|
echo "===> Commited with \"upgpkg: $pkgname $pkgver-$pkgrel\" message"
|
|
fi
|
|
|
|
cvs tag -c -F -R $tag > /dev/null
|
|
if [ $? -ne 0 ]; then
|
|
echo "Cancelled"
|
|
exit 1
|
|
fi
|
|
echo "===> Tagged as $tag"
|