diff options
author | Erich Eckner <git@eckner.net> | 2017-11-07 08:42:59 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2017-11-07 08:42:59 +0100 |
commit | 89787bc77d751ad66f87c6fe56fe616216d12562 (patch) | |
tree | 7d588c9705b40aace23845c34c66de602fdc14b6 /bin/build-master-status | |
parent | 135cd371da819c1d8288db8d3641447781abb807 (diff) | |
download | builder-89787bc77d751ad66f87c6fe56fe616216d12562.tar.xz |
bin/build-master-status: create link to FS more fuzzily
Diffstat (limited to 'bin/build-master-status')
-rwxr-xr-x | bin/build-master-status | 72 |
1 files changed, 37 insertions, 35 deletions
diff --git a/bin/build-master-status b/bin/build-master-status index aa5e031..0a575f2 100755 --- a/bin/build-master-status +++ b/bin/build-master-status @@ -350,41 +350,43 @@ if ${web}; then )" \ "${build_error}" if [ -f "${work_dir}/package-states/${sf}.blocked" ]; then - while read -r blocked_reason; do - if echo "${blocked_reason}" | \ - grep -q '^wait for '; then - printf 'wait for ' - echo "${blocked_reason}" | \ - sed ' - s|^wait for || - s@\( and \| or \)@\n\1\n@ - ' | \ - while read -r reason; do - if [ "FS#${reason#FS#}" = "${reason}" ]; then - printf '<a href="https://bugs.archlinux.org/task/%s">%s</a>' \ - "${reason#FS#}" \ - "${reason}" - elif grep -q "^$(str_to_regex "${reason}") " "${work_dir}/build-list"; then - printf '<a href="graphs/%s.png">%s</a>' \ - "${reason}" \ - "${reason}" - elif [ "${reason% *}" != "${reason}" ]; then - printf '%s' \ - "${reason}" - else - printf '<font color="red">%s</font>' \ - "${reason}" - fi - if read -r operator; then - printf ' %s ' "${operator}" - fi - done - else - echo "${blocked_reason}" - fi - done < \ - "${work_dir}/package-states/${sf}.blocked" | \ - tr '\n' ' ' + sed ' + s|\s\(wait for \)|\n\1|g + ' "${work_dir}/package-states/${sf}.blocked" | \ + while read -r blocked_reason; do + if echo "${blocked_reason}" | \ + grep -q '^wait for '; then + printf 'wait for ' + echo "${blocked_reason}" | \ + sed ' + s|^wait for || + s@\( and \| or \)@\n\1\n@ + ' | \ + while read -r reason; do + if [ "FS#${reason#FS#}" = "${reason}" ]; then + printf '<a href="https://bugs.archlinux.org/task/%s">%s</a>' \ + "${reason#FS#}" \ + "${reason}" + elif grep -q "^$(str_to_regex "${reason}") " "${work_dir}/build-list"; then + printf '<a href="graphs/%s.png">%s</a>' \ + "${reason}" \ + "${reason}" + elif [ "${reason% *}" != "${reason}" ]; then + printf '%s' \ + "${reason}" + else + printf '<font color="red">%s</font>' \ + "${reason}" + fi + if read -r operator; then + printf ' %s ' "${operator}" + fi + done + else + echo "${blocked_reason}" + fi + done | \ + tr '\n' ' ' else printf ' ' fi |