summaryrefslogtreecommitdiffhomepage
path: root/subr
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2019-01-19 20:39:54 +0000
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2019-01-19 20:39:54 +0000
commitcc86a5dda0b462ba3ce401d43b3c8f49f427e201 (patch)
tree8f628def74d72ada5ed4be82923c5b48e66d226b /subr
parentb17684d7be71b49e60e3762efe6b93bda8fe0896 (diff)
downloadmidipix_build-cc86a5dda0b462ba3ce401d43b3c8f49f427e201.tar.bz2
midipix_build-cc86a5dda0b462ba3ce401d43b3c8f49f427e201.tar.xz
build.sh, subr/{build_args,ex_pkg_dispatch}.subr: fix -r LAST.
Diffstat (limited to 'subr')
-rw-r--r--subr/build_args.subr10
-rw-r--r--subr/ex_pkg_dispatch.subr18
2 files changed, 12 insertions, 16 deletions
diff --git a/subr/build_args.subr b/subr/build_args.subr
index 6d7c278e..bf6956fb 100644
--- a/subr/build_args.subr
+++ b/subr/build_args.subr
@@ -61,14 +61,18 @@ build_args() {
ARG_DIST="${ARG_DIST:+${ARG_DIST},}minipix";
fi;
fi;
- if [ -n "${ARG_RESTART}" ]; then
- if [ "${ARG_RESTART%:*}" != "${ARG_RESTART}" ]; then
+ case "${ARG_RESTART}" in
+ ALL) ARG_RESTART_AT=ALL; ;;
+ LAST) ARG_RESTART_AT=""; ;;
+ "") ;;
+ *) if [ "${ARG_RESTART%:*}" != "${ARG_RESTART}" ]; then
ARG_RESTART_AT="${ARG_RESTART#*:}"; ARG_RESTART="${ARG_RESTART%:*}";
else
ARG_RESTART_AT=ALL;
fi;
ARG_RESTART="$(echo "${ARG_RESTART}" | sed "s/,/ /g")";
- fi;
+ ;;
+ esac;
case "${ARG_VERBOSE}" in
-v) ARG_VERBOSE=1; ;;
-vv) ARG_VERBOSE=2; ;;
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