--- /dev/null
+#!/bin/sh
+
+# Rebuild a source package and then trigger a binary build.
+
+set -eu
+
+while getopts "d:r:" opt ; do
+ case $opt in
+ d) distribution="$OPTARG" ;;
+ r) revision="$OPTARG" ;;
+ *) exit 5 ;;
+ esac
+done
+# shift away args
+shift $(($OPTIND - 1))
+
+PACKAGE="$1"
+
+./trigger-source-rebuild -r "${revision:-1}" "$PACKAGE"
+echo "https://pgdgbuild.dus.dg-i.net/job/$PACKAGE-source"
+echo -n "Continue? "
+read reply
+./trigger-job ${distribution:+-d "$distribution"} "$PACKAGE-binaries"
set -e
-while getopts "Aa:b:B:d:g:nq:u" opt ; do
+while getopts "Aa:b:B:d:g:nq:r:u" opt ; do
case $opt in
A) autopkgtest="autopkgtest=skip" ;;
a) architecture="architecture==\"$OPTARG\"" ;;
g) branch="branch=$OPTARG" ;;
n) DEB_BUILD_OPTIONS="DEB_BUILD_OPTIONS=nocheck" ;;
q) queue="queue=$OPTARG" ;;
+ r) revision="revision=$OPTARG" ;;
u) upload="upload=extension-only" ;;
*) exit 5 ;;
esac
fi
IFS="&"
-set -- $branch $binnmu_reason $binnmu_version $autopkgtest $DEB_BUILD_OPTIONS $queue $upload $matrix "$@" token=buildnow
+set -- $branch $revision $binnmu_reason $binnmu_version $autopkgtest $DEB_BUILD_OPTIONS $queue $upload $matrix "$@" token=buildnow
set -x
curl -f --netrc \
set -eu
+while getopts "r:" opt ; do
+ case $opt in
+ r) revision="$OPTARG" ;;
+ *) exit 5 ;;
+ esac
+done
+# shift away args
+shift $(($OPTIND - 1))
+
PACKAGE="$1"
XML=$(curl -fs https://pgdgbuild.dus.dg-i.net/view/Sources/job/$PACKAGE-source/lastSuccessfulBuild/api/xml?xpath=//lastBuiltRevision/SHA1)
SHA1=$(echo "$XML" | grep -Eo '[0-9a-f]{40}')
test "$SHA1"
set -x
-./trigger-job "$PACKAGE-source" "branch=$SHA1"
+./trigger-job -r "${revision:-1}" "$PACKAGE-source" "branch=$SHA1"