PKG_CCACHE=
CCACHE_SETUP_START_TIME=
NOCUMULATE=
+MAX_RETRY_TIMES=0
# This is for insserv
export YAST_IS_RUNNING=instsys
Enable creation of a debuginfo package
--nocumulate
Enable build without cumulative build.
+ --max-retry-times N
+ Retry N times to rebuild if build failed.
Remember to have fun!
# echo ${repos[@]}
}
+retry_build_or_not()
+{
+ if test -n "$LOGFILE"; then
+ build_log="$LOGFILE"
+ else
+ build_log="$BUILD_ROOT/.build.log";
+ fi
+ if test -f "$build_log"; then
+ if grep -q "qemu: uncaught target signal" $build_log; then
+ return 0
+ fi
+ fi
+ return 1
+}
+
#### main ####
trap fail_exit EXIT
-use-higher-deps)
USEHIGHERDEPS="--use-higher-deps"
;;
+ -max-retry-times)
+ needarg
+ MAX_RETRY_TIMES="$ARG"
+ shift
+ ;;
-*)
if vm_parse_options "$@" ; then
set -- "${nextargs[@]}"
start_time=`date +%s`
recipe_build
+ if test "$BUILD_SUCCEEDED" = false -a "$MAX_RETRY_TIMES" -gt 0; then
+ for ((num=0; num<$MAX_RETRY_TIMES; num++)) ; do
+ if retry_build_or_not ; then
+ echo ----- retrying to build $RECIPEFILE
+ recipe_build
+ else
+ break
+ fi
+ test "$BUILD_SUCCEEDED" = true && break
+ done
+ fi
if test "$DO_STATISTICS" = 1; then
mkdir -p $TOPDIR/OTHER
echo "TIME_main_build: $(( `date +%s` - $start_time ))" >> $TOPDIR/OTHER/_statistics