diff options
author | Erich Eckner <git@eckner.net> | 2018-03-29 15:13:03 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-03-29 15:13:03 +0200 |
commit | 89f2939484c3dee3e8119f5b54fbfd75b146f02f (patch) | |
tree | 5ac52a6822dd9dcf97d6cb9038ec4a294c90eb6c /bin/build-packages | |
parent | d9cd728bac2d31562d11788eaf734fb8d0d430c7 (diff) | |
download | builder-89f2939484c3dee3e8119f5b54fbfd75b146f02f.tar.xz |
bin/build-packages: do not lock ping-to-buildmaster for each straw - this does not work!
Diffstat (limited to 'bin/build-packages')
-rwxr-xr-x | bin/build-packages | 23 |
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}" \ |