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.subr136
1 files changed, 0 insertions, 136 deletions
diff --git a/subr/ex_pkg_exec.subr b/subr/ex_pkg_exec.subr
deleted file mode 100644
index cd82756c..00000000
--- a/subr/ex_pkg_exec.subr
+++ /dev/null
@@ -1,136 +0,0 @@
-#
-# set +o errexit -o noglob -o nounset is assumed.
-#
-
-exp_pkg_exec_filter_vars_fn() {
- local _vname="${1}";
- case "${_vname}" in
- DEFAULT|PKG_*)
- return 0; ;;
- BUILD_DLCACHEDIR|BUILD_WORKDIR|MIDIPIX_BUILD_PWD)
- return 0; ;;
- CONFIG_CACHE_GNULIB)
- return 0; ;;
- PREFIX|PREFIX_CROSS|PREFIX_MINGW32|PREFIX_MINIPIX|PREFIX_NATIVE|PREFIX_RPM)
- return 0; ;;
- *) return 1; ;;
- esac;
-};
-
-#
-# exp_pkg_exec_pre() - XXX
-# @_group_name: build group name
-# @_pkg_name: single package name
-# @_restart_at: optional comma-separated list of build steps at which to rebuild or ALL or LAST
-#
-# Return: zero (0) on success, non-zero (>0) on failure
-#
-exp_pkg_exec_pre() {
- local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}";
- if [ -z "${PKG_URL:-}" ]\
- && [ -z "${PKG_URLS_GIT:-}" ]\
- && [ -z "${PKG_VERSION:-}" ]\
- && [ -z "${PKG_INSTALL_FILES:-}" ]\
- && [ -z "${PKG_INSTALL_FILES_V2:-}" ]\
- && ! rtl_test_cmd "pkg_${_pkg_name}_all"; then
- "${_dispatch_fn}" missing_pkg "${_group_name}" "${_pkg_name}";
- return 1;
- elif ! ex_pkg_state_test "${_pkg_name}" "start" "${_restart_at}"; then
- if [ "${PKG_NO_CLEAN_BASE_DIR:-0}" -eq 0 ]\
- && ! rtl_fileop rm "${PKG_BASE_DIR}" "${PKG_BUILD_DIR}" "${PKG_DESTDIR}" "${PKG_DESTDIR_HOST}"\
- || ! rtl_fileop mkdir "${PKG_BASE_DIR}"; then
- return 1;
- fi;
- if ! rtl_fileop mkdir "${PKG_BUILD_DIR}" "${PKG_DESTDIR}"\
- || ! ex_pkg_state_set "${_pkg_name}" "start"; then
- return 1;
- fi;
- elif ! rtl_exists_any "${PKG_BASE_DIR}" "${PKG_BUILD_DIR}" "${PKG_DESTDIR}" "${PKG_DESTDIR_HOST}"\
- && ! rtl_fileop mkdir "${PKG_BASE_DIR}" "${PKG_BUILD_DIR}" "${PKG_DESTDIR}" "${PKG_DESTDIR_HOST}"; then
- return 1
- fi;
- rtl_fileop cd "${PKG_BUILD_DIR}";
-};
-
-#
-# exp_pkg_exec_step() - XXX
-# @_group_name: build group name
-# @_pkg_name: single package name
-# @_restart_at: optional comma-separated list of build steps at which to rebuild or ALL or LAST
-# @_step: build step to execute
-#
-# Return: zero (0) on success, non-zero (>0) on failure
-#
-exp_pkg_exec_step() {
- local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}" _step="${4}" \
- _fn_name="" _pkg_step_fn="" _rc=0;
- if rtl_test_cmd "pkg_${_pkg_name}_${_step}"; then
- _pkg_step_fn="pkg_${_pkg_name}_${_step}";
- else
- _pkg_step_fn="pkg_${_step}";
- fi;
- for _fn_name in \
- "pkg_${_pkg_name}_${_step}_pre" \
- "${_pkg_step_fn}" \
- "pkg_${_pkg_name}_${_step}_post"; do
- if rtl_test_cmd "${_fn_name}"\
- && ! "${_fn_name}" "${_group_name}" "${_pkg_name}" "${_restart_at}"; then
- _rc=1; break;
- fi;
- done;
- return "${_rc}";
-};
-
-#
-# exp_pkg_exec() - XXX
-# @_dispatch_fn: top-level dispatch function name
-# @_group_name: build group name
-# @_pkg_name: single package name
-# @_restart_at: optional comma-separated list of build steps at which to rebuild or ALL or LAST
-#
-# Return: zero (0) on success, non-zero (>0) on failure
-#
-ex_pkg_exec() {
- local _dispatch_fn="${1}" _group_name="${2}" _pkg_name="${3}" _restart_at="${4}" \
- _build_step_last="" _rc=0 _step="";
-
- if ! exp_pkg_exec_pre "${_group_name}" "${_pkg_name}" "${_restart_at}"\
- || ! "${_dispatch_fn}" start_pkg_child "${_group_name}" "${_pkg_name}"; then
- _rc=1;
- elif rtl_test_cmd "pkg_${_pkg_name}_all"; then
- "pkg_${_pkg_name}_all" "${_restart_at}"; _rc="${?}";
- else set -- ${PKG_BUILD_STEPS};
- while [ ${#} -gt 0 ]; do
- _step="${1}"; shift;
- if [ "${#_restart_at}" -gt 0 ]\
- && [ "${_restart_at}" != "ALL" ]\
- && [ "${_restart_at}" != "LAST" ]\
- && ! rtl_lmatch "${_restart_at}" "${_step}" ","; then
- continue;
- fi;
- if [ "${_step}" = "${ARG_DUMP_IN}" ]; then
- printf "" > "${BUILD_WORKDIR}/${_pkg_name}.dump";
- rtl_filter_vars exp_pkg_exec_filter_vars_fn >> "${BUILD_WORKDIR}/${_pkg_name}.dump";
- export >> "${BUILD_WORKDIR}/${_pkg_name}.dump"; exit 1;
- elif [ "${_step}" = "finish" ]; then
- ex_pkg_state_set "${_pkg_name}" finish; break;
- elif [ "${PKG_FORCE:-0}" -eq 0 ]\
- && ex_pkg_state_test "${_pkg_name}" "${_step}" "${_restart_at}"; then
- continue;
- elif ! exp_pkg_exec_step "${_group_name}" "${_pkg_name}" "${_restart_at}" "${_step}"; then
- _rc=1; break;
- else printf "step %s %s %s\n" "${_group_name}" "${_pkg_name}" "${_step}" >&3;
- ex_pkg_state_set "${_pkg_name}" "${_step}" "${@}";
- fi;
- done;
- fi;
- if [ "${_rc:-0}" -ne 0 ]\
- && [ "${ARG_DUMP_ON_ABORT:-0}" -eq 1 ]; then
- printf "" > "${BUILD_WORKDIR}/${_pkg_name}.dump";
- rtl_filter_vars exp_pkg_exec_filter_vars_fn >> "${BUILD_WORKDIR}/${_pkg_name}.dump";
- export >> "${BUILD_WORKDIR}/${_pkg_name}.dump";
- fi;
- return "${_rc}";
-};
-
-# vim:filetype=sh