summaryrefslogtreecommitdiffhomepage
path: root/subr/ex_pkg_exec.subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr/ex_pkg_exec.subr')
-rw-r--r--subr/ex_pkg_exec.subr7
1 files changed, 5 insertions, 2 deletions
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}";
};