From d4dbb527dcb20e987dec75ddcc6db595f71ea1b2 Mon Sep 17 00:00:00 2001 From: Aaron Griffin Date: Tue, 3 Mar 2009 09:00:56 -0800 Subject: Rename extrapkg to commitpkg Also allow for uploads to any user-specified repo name Signed-off-by: Aaron Griffin --- commitpkg | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100755 commitpkg (limited to 'commitpkg') diff --git a/commitpkg b/commitpkg new file mode 100755 index 0000000..c434974 --- /dev/null +++ b/commitpkg @@ -0,0 +1,126 @@ +#!/bin/bash + +# Source makepkg.conf; fail if it is not found +if [ -r "/etc/makepkg.conf" ]; then + source "/etc/makepkg.conf" +else + echo "/etc/makepkg.conf not found!" + exit 1 +fi + +# Source user-specific makepkg.conf overrides +if [ -r ~/.makepkg.conf ]; then + source ~/.makepkg.conf +fi + +cmd=`basename $0` + +if [ ! -f PKGBUILD ]; then + echo "No PKGBUILD file" + exit 1 +fi + +if [ -z "$CARCH" ]; then + echo "CARCH must be set to a recognized value!" + 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" +elif [ "$cmd" == "corepkg" ]; then + repo="core" +elif [ "$cmd" == "testingpkg" ]; then + repo="testing" +elif [ "$cmd" == "unstablepkg" ]; then + repo="unstable" +elif [ "$cmd" == "communitypkg" ]; then + repo="community" +else + if [ $# -eq 0 ]; then + echo "usage: commitpkg [-l limit] [commit message]" + exit 1 + fi + repo="$1" + shift +fi + +# see if any limit options were passed, we'll send them to SCP +unset scpopts +if [ "$1" = "-l" ]; then + scpopts="$1 $2" + shift 2 +fi + +if [ "$repo" != "community" ]; then + # combine what we know into a variable + uploadto="staging/${repo}/$(basename ${pkgfile})" + server="archlinux.org" + scp ${scpopts} "${pkgfile}" "${server}:${uploadto}" + if [ "$(md5sum "${pkgfile}" | cut -d' ' -f1)" != "$(ssh ${server} md5sum "${uploadto}" | 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 compatibility" + mv $pkgfile $oldstylepkgfile + pkgfile=$oldstylepkgfile + fi + tupkg $pkgfile +fi +if [ $? -ne 0 ]; then + echo "Cancelled" + exit 1 +fi +echo "===> Uploaded $pkgfile" + +if [ "$1" != "" ]; then + svn 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 + svn 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 + +archrelease $repo-$CARCH +if [ $? -ne 0 ]; then + echo "Cancelled" + exit 1 +fi +echo "===> Tagged for $repo-$CARCH" + +# vim:ft=sh:ts=4:sw=4:et: -- cgit v1.2.3-24-g4f1b