binonly=0
sbuild_args=
+sbuild_args_sourceful=
schangesfile=
arch=
for opt in "$@"; do
esac
done
-[ "$binonly" = 0 ] && sbuild_args="${sbuild_args:+$sbuild_args }--source --arch-all"
+rm $schangesfile
+unset schangesfile
-sbuild $sbuild_args --arch="$arch" --dist="$dist" --keyid=$KEYID \
- "$dscfile_basename"
+if [ "$binonly" = 0 ]; then
+ sbuild_args_sourceful="--source --arch-all"
+fi
+
+if [ "$arch" = all ]; then
+ arch="$(schroot -l | sed -rne 's,^sid-([^-]+).*,\1,p' | uniq | tr '\n' ' ')"
+fi
+
+for a in $arch; do
+ echo "I: building $packagenameversion for $a/$dist…" >&2
+
+ sbuild $sbuild_args $sbuild_args_sourceful \
+ --arch="$a" --dist="$dist" --keyid=$KEYID \
+ "$dscfile_basename"
+
+ changesfile="${packagenameversion}_${a}.changes"
+
+ if [ -n "$sbuild_args_sourceful" ]; then
+ schangesfile="${packagenameversion}_source+${changesfile#${packagenameversion}_}"
+ mv "$changesfile" "$schangesfile"
+ changesfile="$schangesfile"
+ fi
-changesfile="${packagenameversion}_${arch}.changes"
+ # subsequent iterations should be binonly
+ sbuild_args_sourceful=
-postbuild "$changesfile"
+ echo "I: running post-build hook ($packagenameversion/$a/$dist)…" >&2
+ postbuild "$dist" "$a" "$changesfile"
+ echo "I: running dinstall ($packagenameversion/$a/$dist)…" >&2
+ dinstall "$dist" "$changesfile"
-dinstall "$dist" "$changesfile"
+ echo "I: done building $packagenameversion for $a/$dist" >&2
+done
+
+if [ -n "${schangesfile:-}" ]; then
+ sarch="${schangesfile##*_}"; sarch=${sarch%.changes}
+ combined_arch="$(echo -n "${sarch}+";
+ for i in *.changes; do
+ [ "$i" = "$schangesfile" ] && continue
+ t="${i##*_}"; echo "${t%.changes}"
+ done)"
+
+ if [ -n "$combined_arch" ]; then
+ mergechanges *.changes > ${packagenameversion}_${combined_arch}.changes
+ arch="$combined_arch"
+ fi
+fi
DATESTR="$(date +%Y.%m.%d.%H%M%S)"
BUILD_PREFIX="${packagenameversion}_${arch}.${DATESTR}"
bundle="${BUNDLE_DIR}/${BUILD_PREFIX}".bundle.tar
tar -chf "$bundle" *
chmod 644 "$bundle"
+print_bundle_location "$bundle"
-cleanup
-print_bundle_location "$bundle"
+cleanup
exit 0