summaryrefslogtreecommitdiffhomepage
path: root/subr/ex_pkg_dispatch.subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr/ex_pkg_dispatch.subr')
-rw-r--r--subr/ex_pkg_dispatch.subr18
1 files changed, 5 insertions, 13 deletions
diff --git a/subr/ex_pkg_dispatch.subr b/subr/ex_pkg_dispatch.subr
index 9a06fd39..0b0fa7d8 100644
--- a/subr/ex_pkg_dispatch.subr
+++ b/subr/ex_pkg_dispatch.subr
@@ -29,24 +29,16 @@ exp_pkg_dispatch() {
ex_pkg_dispatch() {
local _tgt_name="${1}" _restart="${2}" _restart_at="${3}" _dispatch_fn="${4}" _pkgs_found_vname="${5}" \
- _last_pkg="" _njob="" _njobs="" _njobs_max="" _pipe_msg="" _pipe_path="" \
- _pkg_names="" _pkgs_found="" _script_rc="" _stderrout_path="" _tgt_name_uc="";
+ _njob="" _njobs="" _njobs_max="" _pipe_msg="" _pipe_path="" _pkg_names="" _pkgs_found="" \
+ _script_rc="" _stderrout_path="" _tgt_name_uc="";
ex_rtl_fileop mkdir "${BUILD_WORKDIR}";
_pipe_path="${BUILD_WORKDIR}/build.fifo";
_tgt_name_uc="$(ex_rtl_toupper "${_tgt_name}")";
"${_dispatch_fn}" start_target "" "${_tgt_name}";
_pkg_names="$(ex_rtl_get_var_unsafe ${_tgt_name_uc}_PACKAGES)";
- if [ -n "${_restart}" ]; then
- if [ "${_restart}" = "LAST" ]; then
- if [ -n "${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME}" ]\
- && [ -e "${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME}" ]; then
- _last_pkg="$(cat "${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME}")";
- ex_rtl_fileop rm "${DEFAULT_BUILD_LAST_FAILED_PKG_FNAME}";
- ex_rtl_state_clear "${BUILD_WORKDIR}" "${_last_pkg}";
- fi;
- elif [ "${_restart}" != "ALL" ]; then
- _pkg_names="$(ex_rtl_lfilter "${_pkg_names}" "${_restart}")";
- fi;
+ if [ -n "${_restart}" ]\
+ && ! ex_rtl_lmatch "ALL LAST" " " "${_restart}"; then
+ _pkg_names="$(ex_rtl_lfilter "${_pkg_names}" "${_restart}")";
fi;
if [ "$(ex_rtl_get_var_unsafe ${_tgt_name_uc}_PARALLELISE)" = 1 ]\
&& [ "${ARG_PARALLEL:-0}" -gt 1 ]; then