In the invirtibuilder, take advantage of the getBinaries function in
[invirt/packages/invirt-dev.git] / invirt-build-release
index 05c9d18..9dd40c1 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/bash
+distribution=hardy
 svnuri="$(invirt-getconf svn.uri)"
 
 set -e
@@ -12,22 +13,28 @@ for package; do
     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)`
-    eval $(perl '-F:\s+' -lane 'print $F[0]."=".$F[1] if /^Binary|Architecture/' <"../${Source}_${Version}.dsc")
-
+    eval $(perl -ne 'print if s/^(Version|Source|Distribution): /\1=/' \
+             <(dpkg-parsechangelog))
     dpkg-buildpackage -us -uc -rfakeroot -S
     cd ..
-    case $Architecture in
-      all)
-        sbuild -A -d hardy "${Source}_${Version}.dsc";;
-      any)
-        sbuild -d hardy-amd64 "${Source}_${Version}.dsc"
-        sbuild -d hardy-i386  "${Source}_${Version}.dsc";;
-      *)
-        echo "invirt-build-release: architecture '$Architecture' not 'all' or 'any'" >&2
-        exit 1
-    esac
+    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
 
     if ! svn ls $svnuri/package_tags/$Source >/dev/null 2>&1; then
         svn mkdir $svnuri/package_tags/$Source \
@@ -41,15 +48,14 @@ for package; do
     fi
     
     [ $Distribution = 'unstable' ] \
-        || echo "$(basename $0): warning: Distribution is ${Distribution}, script expects 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)
+        reprepro-env copy stable unstable $(sed -ne 's/^Binary: //p' $i)
     done
-    reprepro-env copy stable unstable ${Source}
+    reprepro-env copy stable unstable $Source
     
     cd ..
-    rm -rf build-release
+    rm -rf build-release/$package
 done