summaryrefslogtreecommitdiff
path: root/bin/interpret-mail
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-11-23 08:50:44 +0100
committerErich Eckner <git@eckner.net>2017-11-23 08:50:44 +0100
commit52b93f6ad26f6b5a83c5e09b36e1b18b96ea9857 (patch)
tree5a589d2cb6d6757410f5a272147da2902e8faa53 /bin/interpret-mail
parent3f8e603f63db4613081f6f36081ef9492601fa46 (diff)
downloadbuilder-52b93f6ad26f6b5a83c5e09b36e1b18b96ea9857.tar.xz
bin/interpret-mail: action "schedule" new; bin/seed-build-list: bail out early if no arguments, print scheduled packages (even if -n not given)
Diffstat (limited to 'bin/interpret-mail')
-rwxr-xr-xbin/interpret-mail19
1 files changed, 19 insertions, 0 deletions
diff --git a/bin/interpret-mail b/bin/interpret-mail
index f2b7d26..0401498 100755
--- a/bin/interpret-mail
+++ b/bin/interpret-mail
@@ -29,6 +29,9 @@ if [ $# -ne 0 ]; then
>&2 echo ' - "unblock: <state-file>":'
>&2 echo ' Unblock the given packge.'
>&2 echo ''
+ >&2 echo ' - "schedule: <pkgname>":'
+ >&2 echo ' Put the given package on the build list (again).'
+ >&2 echo ''
>&2 echo ' - ALL: all of the above (only valid in'
>&2 echo ' "conf/admin-gpg-keys")'
>&2 echo ''
@@ -215,3 +218,19 @@ if [ -s "${tmp_dir}/unblock" ]; then
log 'There was an error while unblocking the packages - ignoring this message.\n'
fi
fi
+
+if [ -s "${tmp_dir}/schedule" ]; then
+ # shellcheck disable=SC2046
+ "${base_dir}/bin/seed-build-list" $(
+ tr '[:space:]' '\n' < \
+ "${tmp_dir}/schedule" | \
+ grep -vxF '' | \
+ while read -r package; do
+ printf -- '-p ^%s$\n' "$(str_to_regex "${package}")"
+ done
+ ) | \
+ sponge "${tmp_dir}/schedule"
+ if [ -s "${tmp_dir}/schedule" ]; then
+ log 'Successfully (re)scheduled %s packages.\n' "$(wc -l < "${tmp_dir}/schedule")"
+ fi
+fi