finish setup for signing packages
[invirt/packages/invirt-dev.git] / sx-build-release
index ac61422..813a9bb 100755 (executable)
@@ -1,27 +1,40 @@
-#!/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 -k"$(invirt-getconf apt.keyid)" -rfakeroot
+
+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
 
-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 ..
+[ $Distribution = 'unstable' ] \
+ || echo "$(basename $0): warning: Distribution is ${Distribution}, script expects unstable"
+changesfile=`pwd`/${Source}_*${Version}*.changes
+reprepro-env include unstable $changesfile
+reprepro-env copy stable unstable ${Source} \
+  $(perl '-F:\s+' -lane 'print $F[1]." " if /^Binary/' <$changesfile)
 
-cd $olddir
+cd ..
 rm -rf build-release