Skip to content

Commit c0da205

Browse files
authored
Merge pull request #1417 from citrus-it/framework
Framework updates from omnios-build
2 parents 4200fbe + 0083802 commit c0da205

File tree

2 files changed

+22
-9
lines changed

2 files changed

+22
-9
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ build.log
22
build-*.log
33
build.log.*
44
build-*.log.*
5+
last-failure.log
56
tmp.repo/
67
tmp.repo.aarch64/
78
*.p5m.final

build/buildctl

+21-9
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,12 @@ build() {
309309
LOGFILE="$_LOGFILE"
310310
built_packages_p5m $SCRIPT
311311
else
312-
PATH=$PATH:. $SCRIPT -r $PKGSRVR $build_flags $extra_flags || \
312+
PATH=$PATH:. $SCRIPT -r $PKGSRVR $build_flags $extra_flags
313+
if (($? != 0)); then
314+
typeset log="`ls -1tr *.log | tail -1`"
315+
[ -n "$log" ] && cp "$log" ../last-failure.log
313316
logerr "Unable to run $SCRIPT"
317+
fi
314318
[ -z "$extra_flags" ] && built_packages_sh $SCRIPT
315319
fi
316320
popd >/dev/null
@@ -434,13 +438,19 @@ reap_slot() {
434438
typeset -i ret=0
435439

436440
case $stat in
437-
0) logmsg -n "-- Job $slot ($job) terminated normally"
438-
;;
439-
*) logmsg -e "-- Job $slot ($job) terminated with status $stat"
440-
note -e "***** BUILD ERROR ***** ($job/$stat)"
441-
builderr+=($job)
442-
ret=1
443-
;;
441+
0) logmsg -n "-- Job $slot ($job) terminated normally"
442+
;;
443+
127) logmsg -e "-- Job $slot ($job) terminated with status $stat"
444+
# 127 is not considered an error because it reflects a job
445+
# which went away while we were not waiting for something to
446+
# exit. That race may be worth closing some day but for now
447+
# move on.
448+
;;
449+
*) logmsg -e "-- Job $slot ($job) terminated with status $stat"
450+
note -e "***** BUILD ERROR ***** ($job/$stat)"
451+
builderr+=($job)
452+
ret=1
453+
;;
444454
esac
445455
unset slots[$slot]
446456
return $ret
@@ -746,6 +756,9 @@ parallel_build() {
746756

747757
date
748758
logmsg "Total build time: $(print_elapsed $((`date +%s` - build_start)))"
759+
760+
[ -n "$builderr" ] && return 1
761+
return 0
749762
}
750763

751764
usage() {
@@ -913,6 +926,5 @@ case "$1" in
913926
;;
914927
esac
915928

916-
917929
# Vim hints
918930
# vim:ts=4:sw=4:et:

0 commit comments

Comments
 (0)