summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-03-29 15:13:03 +0200
committerErich Eckner <git@eckner.net>2018-03-29 15:13:03 +0200
commit89f2939484c3dee3e8119f5b54fbfd75b146f02f (patch)
tree5ac52a6822dd9dcf97d6cb9038ec4a294c90eb6c
parentd9cd728bac2d31562d11788eaf734fb8d0d430c7 (diff)
downloadbuilder-89f2939484c3dee3e8119f5b54fbfd75b146f02f.tar.xz
bin/build-packages: do not lock ping-to-buildmaster for each straw - this does not work!
-rwxr-xr-xbin/build-packages23
1 files changed, 13 insertions, 10 deletions
diff --git a/bin/build-packages b/bin/build-packages
index 78690b9..e9ac0c4 100755
--- a/bin/build-packages
+++ b/bin/build-packages
@@ -273,9 +273,22 @@ while [ "${count}" -ne 0 ]; do
extract_source_directory "${git_repo}" "${git_revision}" "${mod_git_revision}" "${tmp_dir}" "${sub_pkgrel}"
cd "${tmp_dir}"
+ echo 'nothing' > "${tmp_dir}/.ping-build-master"
+ if [ -z "${forced_package}" ]; then
+ # we get a lock on "${work_dir}/ping-build-master.lock",
+ # if we release that lock, ping-to-master should stop _immediately_
+ exec 9> "${work_dir}/ping-build-master.lock"
+ if ! flock -n 9; then
+ >&2 echo 'ERROR: Cannot lock ping-to-master - this should not happen.'
+ exit 2
+ fi
+ "${base_dir}/bin/ping-to-master" "$$" "${tmp_dir}" &
+ fi
success=false
for straw in ${straws_that_might_repair_failing_builds}; do
+ echo 'preparing' > "${tmp_dir}/.ping-build-master"
+
if echo "${straw}" | \
grep -qF ':mirrored_source:'; then
# maybe a missing source is/was the problem?
@@ -370,16 +383,6 @@ while [ "${count}" -ne 0 ]; do
rm {} \;
echo 'building' > "${tmp_dir}/.ping-build-master"
- if [ -z "${forced_package}" ]; then
- # we get a lock on "${work_dir}/ping-build-master.lock",
- # if we release that lock, ping-to-master should stop _immediately_
- exec 9> "${work_dir}/ping-build-master.lock"
- if ! flock -n 9; then
- >&2 echo 'ERROR: Cannot lock ping-to-master - this should not happen.'
- exit 2
- fi
- "${base_dir}/bin/ping-to-master" "$$" "${tmp_dir}" &
- fi
>&2 printf '%s: building package "%s" (revisions %s %s, repository %s, straw %s) ...' \
"$(date +'%Y-%m-%d %T')" \
"${package}" \