diff options
-rwxr-xr-x | build.sh | 7 | ||||
-rw-r--r-- | subr/ex_pkg_exec.subr | 7 |
2 files changed, 9 insertions, 5 deletions
@@ -69,15 +69,16 @@ buildp_dispatch() { buildp_dispatch_pkg_state "${_msg}" "${@}"; ;; finish_group|start_group) buildp_dispatch_group_state "${_msg}" "${@}"; ;; - *) if command -v "buildp_dispatch_${_msg}"; then + *) if command -v "buildp_dispatch_${_msg}" >/dev/null 2>&1; then "buildp_dispatch_${_msg}" "${@}"; fi; ;; esac; }; build() { - local _build_date_start="" _build_time_hours=0 _build_time_mins=0 _build_time_secs=0 \ - BUILD_NFAIL=0 BUILD_NFINI=0 BUILD_NSKIP=0 BUILD_PKGS_FAILED="" EX_PKG_DISPATCH_UNKNOWN=""; + local _build_time_hours=0 _build_time_mins=0 _build_time_secs=0 \ + BUILD_DATE_START="" BUILD_NFAIL=0 BUILD_NFINI=0 BUILD_NSKIP=0 \ + BUILD_PKGS_FAILED="" EX_PKG_DISPATCH_UNKNOWN=""; if trap "buildp_ast abort" HUP INT TERM USR1 USR2\ && trap "buildp_ast exit" EXIT\ && . ./subr/build_init.subr && build_init "${@}"; then diff --git a/subr/ex_pkg_exec.subr b/subr/ex_pkg_exec.subr index 0a40cfcf..6fb333bb 100644 --- a/subr/ex_pkg_exec.subr +++ b/subr/ex_pkg_exec.subr @@ -82,7 +82,7 @@ ex_pkg_exec() { if exp_pkg_exec_pre "${_group_name}" "${_pkg_name}" "${_restart_at}"\ && "${_dispatch_fn}" start_pkg_child "${_group_name}" "${_pkg_name}"; then if rtl_test_cmd "pkg_${_pkg_name}_all"; then - "pkg_${_pkg_name}_all" "${_restart_at}"; + "pkg_${_pkg_name}_all" "${_restart_at}"; _rc="${?}"; else set -- ${PKG_BUILD_STEPS}; while [ ${#} -gt 0 ]; do _step="${1}"; _step_next="${2}"; shift; @@ -97,7 +97,10 @@ ex_pkg_exec() { fi; done; fi; - ex_pkg_state_set "${_pkg_name}" finish; + if [ "${_rc:-0}" -eq 0 ]\ + && [ -z "${_restart_at}" ]; then + ex_pkg_state_set "${_pkg_name}" finish; + fi; fi; return "${_rc}"; }; |