From ec19f02f81c206f54a89ef7e1f49715e90470c31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz=20=28arab=2C=20vx?= =?UTF-8?q?p=29?= Date: Sun, 3 Dec 2017 16:10:05 +0000 Subject: Separate front end (build.sh, subr/build_*) from dispatcher. --- subr/ex_rtl_state.subr | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 subr/ex_rtl_state.subr (limited to 'subr/ex_rtl_state.subr') diff --git a/subr/ex_rtl_state.subr b/subr/ex_rtl_state.subr new file mode 100644 index 00000000..fa07ff35 --- /dev/null +++ b/subr/ex_rtl_state.subr @@ -0,0 +1,32 @@ +# +# set -o errexit -o noglob are assumed. +# + +ex_rtl_state_set() { + local _workdir="${1}" _pkg_fname="${2}" _done_fname_pfx; + _done_fname_pfx="${_workdir}/.${_pkg_fname}"; + shift 2; while [ ${#} -ge 1 ]; do + if [ -z "${1}" ]; then + shift; continue; + elif [ "${1#-}" != "${1}" ]; then + ex_rtl_fileop rm "${_done_fname_pfx}.${1#-}"; + else + ex_rtl_fileop touch "${_done_fname_pfx}.${1}"; + fi; + shift; done; +}; + +ex_rtl_state_test() { + local _workdir="${1}" _pkg_name="${2}" _build_step="${3}" \ + _restart_at="${4}" _done_fname; + _done_fname="${_workdir}/.${_pkg_name}.${_build_step}"; + if [ -z "${_restart_at}" ]; then + ex_rtl_fileop test "${_done_fname}"; + elif [ "${_restart_at}" = "ALL" ]; then + return 1; + else + ! ex_rtl_lmatch "${_restart_at}" , "${_build_step}"; + fi; +}; + +# vim:filetype=sh -- cgit v1.2.3