Index: trunk/third/common/invirtificator.sh
===================================================================
--- trunk/third/common/invirtificator.sh	(revision 2298)
+++ trunk/third/common/invirtificator.sh	(revision 2300)
@@ -4,20 +4,10 @@
 set -e
 
-# Process arguments.
-dist_arch=$1; shift
-a=
-if [ "$1" = "-A" ]; then a=-A; shift; fi
-chroot=$dist_arch-sbuild
+dist=hardy
+chroot=$dist-amd64
 
-if [ -z "$dist_arch" -o $# -eq 0 ]; then
-    echo 'No arguments!' >&2
-    exit 2
-fi
-
-dist=$(echo "$dist_arch" | sed 's/^\(.*\)-\([^-]*\)$/\1/')
-arch=$(echo "$dist_arch" | sed 's/^\(.*\)-\([^-]*\)$/\2/')
 : ${section=invirt-system}
 : ${ivname=$name}
-: ${release=-proposed}
+: ${release=unstable}
 
 # Create a chroot and define functions for using it.
@@ -66,24 +56,26 @@
 }
 
+find_arch () {
+    if grep -iq '^Architecture: all' "${ivname}_$ivfilever.dsc"; then
+        a=-A
+    fi
+}
+
 cmd_source () {
-    if [ "$a" != "-A" ]; then
-	echo "Not building source package for $dist_arch." >&2
-	return
-    fi
-    echo "Building source for $ivname-$ivversion on $dist_arch" >&2
+    echo "Building source for $ivname-$ivfilever on ${dist}-amd64" >&2
     
-    if ! [ -e "${name}_$version.dsc" ]; then
+    if ! [ -e "${name}_$filever.dsc" ]; then
 	sch apt-get -d source "$name"
     fi
     
-    if ! [ -e "${ivname}_$ivversion.dsc" ]; then
+    if ! [ -e "${ivname}_$ivfilever.dsc" ]; then
 	(
 	    tmpdir=$(mktemp -td "invirtify.$$.XXXXXXXXXX")
 	    trap 'rm -rf "$tmpdir"' EXIT
-	    origversion=$(echo "$version" | sed 's/-[^-]*$//')
+	    origversion=$(echo "$filever" | sed 's/-[^-]*$//')
 	    cp -a "${name}_$origversion.orig.tar.gz" "$tmpdir/"
 	    dscdir=$(pwd)
 	    cd "$tmpdir/"
-	    dpkg-source -x "$dscdir/${name}_$version.dsc" "$tmpdir/$name-$origversion"
+	    dpkg-source -x "$dscdir/${name}_$filever.dsc" "$tmpdir/$name-$origversion"
 	    cd "$tmpdir/$name-$origversion"
 	    dch_done=
@@ -97,10 +89,10 @@
 	    schr apt-get -q -y install devscripts pbuilder
 	    schr /usr/lib/pbuilder/pbuilder-satisfydepends
-	    sch debuild -S -sa -us -uc -i -I.svn && cp -a "../${ivname}_$ivversion"* "$dscdir"
+	    sch debuild -S -sa -us -uc -i -I.svn && cp -a "../${ivname}_$ivfilever"* "$dscdir"
 	)
 	[ $? -eq 0 ] || exit 1
 	
 	if [ -n "$IV_CHECK_DIFFS" ]; then
-	    interdiff -z "${name}_$version.diff.gz" "${ivname}_$ivversion.diff.gz" | \
+	    interdiff -z "${name}_$filever.diff.gz" "${ivname}_$ivfilever.diff.gz" | \
 		enscript --color --language=ansi --highlight=diffu --output=- -q | \
 		less -R
@@ -112,5 +104,12 @@
 
 cmd_binary () {
-    sbuildhack "$dist_arch" $a "${ivname}_$ivversion.dsc"
+    find_arch
+
+    if [ "$a" = "-A" ]; then
+        sbuild -d "$dist" --arch-all "${ivname}_$ivfilever.dsc"
+    else
+        sbuild -d "$dist" --arch amd64 "${ivname}_$ivfilever.dsc"
+        sbuild -d "$dist" --arch i386 "${ivname}_$ivfilever.dsc"
+    fi
 }
 
@@ -121,8 +120,11 @@
 
 cmd_upload () {
-    if [ "$a" = "-A" ]; then
-	v reprepro-env include "${dist}${release}" "${ivname}_${ivversion}_source.changes"
+    find_arch
+
+    v reprepro-env include "${release}" "${ivname}_${ivfilever}_source.changes"
+    v reprepro-env include "${release}" "${ivname}_${ivfilever}_amd64.changes"
+    if [ -z "$a" ]; then
+        v reprepro-env include "${release}" "${ivname}_${ivfilever}_i386.changes"
     fi
-    v reprepro-env include "${dist}${release}" "${ivname}_${ivversion}_${arch}.changes"
 }
 
@@ -146,4 +148,7 @@
 ivversion=$version$ivversionappend
 
+filever=$(echo "$version" | perl -pe 's/([^:]*:)?//')
+ivfilever=$(echo "$ivversion" | perl -pe 's/([^:]*:)?//')
+
 # Look for binary packages built from the named package with the right
 # version, and exit out if we find one (an architecture-specific one
@@ -151,6 +156,6 @@
 # Source: or a Package: header matching $name since there is no
 # Source: header for a package whose name matches its source.
-pkgfile="/srv/repository/dists/$dist/$section/binary-$arch/Packages.gz"
-if { zcat "$pkgfile" | \
+pkgfiles="/srv/repository/dists/$release/$section/binary-*/Packages.gz"
+if { zcat $pkgfiles | \
     dpkg-awk -f - "Package:^$ivname\$" "Version:^$(quote "$ivversion")\$" -- Architecture;
     zcat $pkgfiles | \
@@ -158,5 +163,5 @@
     | if [ "$a" = "-A" ]; then cat; else fgrep -vx 'Architecture: all'; fi \
     | grep -q .; then
-    echo "$ivname $ivversion already exists for $dist_arch." >&2
+    echo "$ivname $ivversion already exists." >&2
     exit 0
 fi
