X-Git-Url: https://git.madduck.net/code/mbuild.git/blobdiff_plain/d3c87d0175c44902f7be928745a3dadc80c07632..479886ed03ca4ab71dec1f5031dd5ec355fca6f5:/sbuild-wrapper.sh diff --git a/sbuild-wrapper.sh b/sbuild-wrapper.sh index be75ff3..57dcaa6 100755 --- a/sbuild-wrapper.sh +++ b/sbuild-wrapper.sh @@ -109,8 +109,6 @@ if [ -z "$schangesfile" ]; then exit 1 fi -[ -z "$arch" ] && arch="$DEB_BUILD_ARCH" - dist="$(sed -ne 's,Distribution: ,,p' "$schangesfile")" schangesfile_basename="${schangesfile##*/}" @@ -157,20 +155,38 @@ done rm $schangesfile unset schangesfile -if [ "$binonly" = 0 ]; then - sbuild_args_sourceful="--source --arch-all" -fi +[ -z "$arch" ] && arch="$DEB_BUILD_ARCH" + +target_arch="$(sed -ne 's,^Architecture: ,,p' $dscfile_basename)" +case "$binonly/$target_arch" in + 1/all) + echo "E: cannot build arch:all packages with -B." >&2 + exit 1 + ;; + 0/all) arch=all;; + */any) + arch="$(schroot -l | sed -rne 's,^sid-([^-]+).*,\1,p' | uniq | tr '\n' ' ')" + ;; +esac -if [ "$arch" = all ]; then - arch="$(schroot -l | sed -rne 's,^sid-([^-]+).*,\1,p' | uniq | tr '\n' ' ')" +if [ "$binonly" = 0 ]; then + sbuild_args_sourceful="--source" fi for a in $arch; do echo "I: building $packagenameversion for $a/$dist…" >&2 + case "$a" in + all) + arch_arg=--arch-all + a="$DEB_BUILD_ARCH" + ;; + *) arch_arg="--arch=$a";; + esac + sbuild $sbuild_args $sbuild_args_sourceful \ - --arch="$a" --dist="$dist" --keyid=$KEYID \ - "$dscfile_basename" + $arch_arg --dist="$dist" --keyid=$KEYID \ + "$dscfile_basename" || ret=$? changesfile="${packagenameversion}_${a}.changes" @@ -193,27 +209,25 @@ 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)" + other_archs="$(for i in *.changes; do + [ "$i" = "$schangesfile" ] && continue + t="${i##*_}"; echo "${t%.changes}" + done)" - if [ -n "$combined_arch" ]; then + if [ -n "$other_archs" ]; then + combined_arch="${sarch}+${other_archs}" mergechanges *.changes > ${packagenameversion}_${combined_arch}.changes arch="$combined_arch" + else + arch="$sarch" 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" * +bundle="${BUNDLE_DIR}/${packagenameversion}_${arch}_bundle.tar.gz" +tar -chzf "$bundle" * chmod 644 "$bundle" print_bundle_location "$bundle" - cleanup exit 0