X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-dev.git/blobdiff_plain/de2c5d150e48a60fffced1b8e24822276356497f..3728ce6258e3b79969bbb77b2e5f87410f414573:/invirt-build-release diff --git a/invirt-build-release b/invirt-build-release index 4d01a5d..9dd40c1 100755 --- a/invirt-build-release +++ b/invirt-build-release @@ -1,44 +1,61 @@ #!/bin/bash +distribution=hardy svnuri="$(invirt-getconf svn.uri)" set -e -if [ $# -ne 1 ] ; then - echo " usage: invirt-build-release package_name" +if [ $# -eq 0 ] ; then + echo " usage: invirt-build-release package_name [package_name [...]]" exit 1 fi -package=$1 -rm -rf build-release/$package -svn export $svnuri/trunk/packages/$package build-release/$package -cd build-release/$package +for package; do + rm -rf build-release/$package + svn export $svnuri/trunk/packages/$package build-release/$package + cd build-release/$package + + eval $(perl -ne 'print if s/^(Version|Source|Distribution): /\1=/' \ + <(dpkg-parsechangelog)) + dpkg-buildpackage -us -uc -rfakeroot -S + cd .. + arch_any=0 + sed -ne 's/^Architecture: //p' ${Source}_${Version}.dsc | while read arch; do + case "$arch" in + all) + ;; + any) + arch_any=1;; + *) + echo "invirt-build-release: arch '$Architecture' unimplemented" >&2 + exit 1;; + esac + done + if [ $arch_any -eq 0 ]; then + sbuild -d $distribution --arch-all ${Source}_${Version}.dsc + else + sbuild -d $distribution --arch amd64 --arch-all ${Source}_${Version}.dsc + sbuild -d $distribution --arch i386 ${Source}_${Version}.dsc + fi -eval `perl '-F:\s+' -lane 'print $F[0]."=".$F[1] if /^Version|^Source|^Distribution/' \ - <(dpkg-parsechangelog)` - -dpkg-buildpackage -us -uc -rfakeroot -S -cd .. -sbuild -A -d hardy-amd64 "${Source}_${Version}.dsc" - -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 - -[ $Distribution = 'unstable' ] \ - || echo "$(basename $0): warning: Distribution is ${Distribution}, script expects unstable" -changesfile=`pwd`/${Source}_*${Version}*.changes -for i in $changesfile; do - reprepro-env include unstable $i - reprepro-env copy stable unstable \ - $(perl '-F:\s+' -lane 'print $F[1]." " if /^Binary/' <$i) + 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 + + [ $Distribution = 'unstable' ] \ + || echo "$(basename $0): warning: Distribution is $Distribution, script expects unstable" + changesfile=`pwd`/${Source}_*${Version}*.changes + for i in $changesfile; do + reprepro-env include unstable $i + reprepro-env copy stable unstable $(sed -ne 's/^Binary: //p' $i) + done + reprepro-env copy stable unstable $Source + + cd .. + rm -rf build-release/$package done -reprepro-env copy stable unstable ${Source} - -cd .. -rm -rf build-release