From 6023f7221aeb25862129742e4ab10bb87d5283e5 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Thu, 22 Nov 2012 19:43:26 +0100 Subject: scripts/functions: fix debug-shell Properly catch resuming the build when continuing past the failed command. The 'case ;;&' construct is a bash4ism. Get rid of it. Signed-off-by: "Yann E. MORIN" diff --git a/scripts/functions b/scripts/functions index c47aadb..a089a71 100644 --- a/scripts/functions +++ b/scripts/functions @@ -71,16 +71,15 @@ CT_OnError() { printf "\nRe-trying last command.\n\n" break fi - ;;& - 3) break;; - *) printf "\nPlease exit with one of these values:\n" - printf " 1 fixed, continue with next build command\n" - if [ -n "${cur_cmd}" ]; then - printf " 2 repeat this build command\n" - fi - printf " 3 abort build\n" ;; + 3) break;; esac + printf "\nPlease exit with one of these values:\n" + printf " 1 fixed, continue with next build command\n" + if [ -n "${cur_cmd}" ]; then + printf " 2 repeat this build command\n" + fi + printf " 3 abort build\n" done exit $result ) @@ -88,7 +87,7 @@ CT_OnError() { # Restore the trap handler eval "${old_trap}" case "${result}" in - 1) rm -f "${CT_WORK_DIR}/backtrace"; return;; + 1) rm -f "${CT_WORK_DIR}/backtrace"; touch "${CT_BUILD_DIR}/skip"; return;; 2) rm -f "${CT_WORK_DIR}/backtrace"; touch "${CT_BUILD_DIR}/repeat"; return;; # 3 is an abort, continue... esac @@ -258,7 +257,12 @@ CT_DoExecLog() { "${@}" 2>&1 |CT_DoLog "${level}" ret="${?}" if [ -f "${CT_BUILD_DIR}/repeat" ]; then + rm -f "${CT_BUILD_DIR}/repeat" continue + elif [ -f "${CT_BUILD_DIR}/skip" ]; then + rm -f "${CT_BUILD_DIR}/skip" + ret=0 + break else break fi -- cgit v0.10.2-6-g49f6