###--------------------------------------------------------------------------
### Parse options.
-bogusp=nil noactp=nil
-unset buildopts keyid
+bogusp=nil noactp=nil signp=nil
+unset buildopts
while getopts "haik:nt:" opt; do
case $opt in
h)
dsc=${pkg}_${ver}.dsc
[ -f "$dsc" ] || fail "where is my \`.dsc' file?"
+## Actually do the build. Get a build directory assigned by the server,
+## upload the sources, run the build, and collect the results.
builddir=$(ssh "$host" mdw-sbuild-server dir "$pkg/$ver")
dcmd rsync -a "$dsc" "$host:$builddir/"
set +e; ssh "$host" mdw-sbuild-server $buildopts build "$builddir"
rc=$?; set -e
rsync -a "$host:$builddir/" ./
case $rc in 0) ;; *) exit $rc ;; esac
-case $?,${keyid+t},$noactp in
- 0,t,nil) debsign -k"$keyid" "${pkg}_${ver}_"*.changes ;;
+
+## Merge the change files together, and maybe sign the result.
+chchch=${pkg}_${ver}_source.changes
+for i in "${pkg}_${ver}"_*.changes; do
+ case " $chchch " in *" $i "*) ;; *) chchch="$chchch $i" ;; esac
+done
+mergechanges -f $chchch
+rm $chchch
+case $signp in
+ t) debsign -k"$keyid" "${pkg}_${ver}_multi.changes" ;;
esac