Skip to content
extrapkg 2.04 KiB
Newer Older
#!/bin/bash

source /etc/makepkg.conf

cmd=`basename $0`

#if echo *.pkg.tar.gz | grep ' ' >/dev/null 2>&1; then
#	echo "Too many packages in current dir"
#	exit 1
#fi
#
#if [ ! -f *.pkg.tar.gz ]; then
#	echo "No package file"
#	exit 1
#fi
#
#pkgfile=`echo *.pkg.tar.gz`
#pkg=`echo *.pkg.tar.gz | rev | cut -d- -f 3- | rev`
#ver=`echo *.pkg.tar.gz | rev | cut -d- -f -2 | rev | sed 's/\.pkg\.tar\.gz//'`

if [ ! -f PKGBUILD ]; then
	echo "No PKGBUILD file"
source PKGBUILD
pkgfile=${pkgname}-${pkgver}-${pkgrel}.pkg.tar.gz

if [ ! -f $pkgfile ]; then
	echo "File $pkgfile doesn't exist"
	exit 1
fi

if [ "$cmd" == "extrapkg" ]; then
	if echo $pkgrel | grep "t" > /dev/null 2>&1; then
		echo "Package can't be uploaded to extra with a 't' in the release"
		exit 1
	fi
	repo="extra"
	tag="CURRENT"
elif [ "$cmd" == "currentpkg" ]; then
	if echo $pkgrel | grep "t" > /dev/null 2>&1; then
		echo "Package can't be uploaded to current with a 't' in the release"
		exit 1
	fi
	repo="current"
	tag="CURRENT"
elif [ "$cmd" == "testingpkg" ]; then
	if echo $pkgrel | grep -v "t" > /dev/null 2>&1; then
		echo "Package can't be uploaded to testing without a 't' in the release"
		exit 1
	fi
	repo="testing"
	tag="TESTING"
elif [ "$cmd" == "unstablepkg" ]; then
	if echo $pkgrel | grep "t" > /dev/null 2>&1; then
		echo "Package can't be uploaded to unstable with a 't' in the release"
		exit 1
	fi
	repo="unstable"
	tag="CURRENT"
fi

scp $pkgfile archlinux.org:/home/ftp/$repo/os/$CARCH
if [ $? -ne 0 ]; then
	echo "Cancelled"
	exit 1
fi
echo "===> Uploaded $pkgfile"
if [ "$1" != "" ]; then
cvs commit -m "upgpkg: $pkgname $pkgver-$pkgrel
if [ $? -ne 0 ]; then
	echo "Cancelled"
	exit 1
fi
echo "===> Commited with \"upgpkg: $pkgname $pkgver-$pkgrel
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"
cvs tag -c -F -R $tag > /dev/null
if [ $? -ne 0 ]; then
	echo "Cancelled"
	exit 1
fi
echo "===> Tagged as $tag"