-#!/bin/sh
-svnuri=file:///afs/sipb.mit.edu/project/xen/svn
+#!/bin/bash
+svnuri=`svn info /srv/checkout | sed -n 's/^Repository Root: //p'`
set -e
if [ $# -ne 1 ] ; then
- echo " usage: sx-build-release trunk/packages/package_name"
+ echo " usage: sx-build-release package_name"
exit 1
fi
-if [ -d build-release ] ; then
- echo "a previous build release directory exists; please clean up"
- exit 1
- fi
-
package=$1
-svn co $svnuri/$package build-release
-olddir=`pwd`
-cd build-release/`basename $package`
-dpkg-parsechangelog \
-|eval `perl '-F:\s+' -lane 'print $F[0]."=".$F[1] if /^Version|^Source|^Distribution/'`
+rm -rf build-release/$package
+svn export $svnuri/trunk/packages/$package build-release/$package
+cd build-release/$package
+
+eval `perl '-F:\s+' -lane 'print $F[0]."=".$F[1] if /^Version|^Source|^Distribution/' \
+ <(dpkg-parsechangelog)`
dpkg-buildpackage -us -uc -rfakeroot
-svn cp -p $svnuri/$package $svnuri/package_tags/$Source/$Version -m "Tag $Version of $Source"
-reprepro-env include $Distribution ../$Source*$Version.changes
-cd $olddir
+if ! svn ls $svnuri/package_tags/$Source >/dev/null 2>&1; then
+ svn mkdir $svnuri/package_tags/$Source \
+ -m "Create package tags directory"
+fi
+if ! svn ls $svnuri/package_tags/$Source/$Version >/dev/null 2>&1; then
+ svn cp $svnuri/trunk/packages/$package $svnuri/package_tags/$Source/$Version \
+ -m "Tag $Version of $Source"
+else
+ echo "$(basename $0): tag already exists, not making again"
+fi
+
+cd ..
+reprepro-env include unstable `pwd`/${Source}_*${Version}*.changes
+reprepro-env include stable `pwd`/${Source}_*${Version}*.changes
+
+cd ..
rm -rf build-release