summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/return-assignment33
1 files changed, 24 insertions, 9 deletions
diff --git a/bin/return-assignment b/bin/return-assignment
index 24764d1..a4612cf 100755
--- a/bin/return-assignment
+++ b/bin/return-assignment
@@ -32,15 +32,30 @@ fi
# aborting does not need any locks
if [ $# -eq 1 ] && \
[ "$1" = 'ABORT' ]; then
- # shellcheck disable=SC2016
- {
- printf 'UPDATE `build_slaves`'
- printf ' SET `build_slaves`.`currently_building`=NULL'
- # shellcheck disable=SC2154
- printf ' WHERE `build_slaves`.`id`=%s;\n' \
- "${slave_id}"
- } | \
- mysql_run_query 'unimportant'
+ old_pkgbase=$(
+ # shellcheck disable=SC2016
+ {
+ printf 'SELECT `package_sources`.`pkgbase`'
+ printf ' FROM `build_slaves`'
+ mysql_join_build_slaves_build_assignments
+ mysql_join_build_assignments_package_sources
+ # shellcheck disable=SC2154
+ printf ' WHERE `build_slaves`.`id`=%s;\n' \
+ "${slave_id}"
+ printf 'UPDATE `build_slaves`'
+ printf ' SET `build_slaves`.`currently_building`=NULL'
+ # shellcheck disable=SC2154
+ printf ' WHERE `build_slaves`.`id`=%s;\n' \
+ "${slave_id}"
+ } | \
+ mysql_run_query 'unimportant'
+ )
+ if [ -z "${old_pkgbase}" ]; then
+ >&2 printf 'Umm, nothing to abort for your.\n'
+ else
+ >&2 printf 'I aborted your build-assignment (%s).\n' \
+ "${old_pkgbase}"
+ fi
exit
fi