summaryrefslogtreecommitdiffhomepage
path: root/subr/ex_pkg_dispatch.subr
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2020-03-05 13:43:03 +0000
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2020-03-05 13:43:03 +0000
commit487c40f31185b5bbcf3c1f278af2fe05150ac9d5 (patch)
treea16ca2957c6fa3a0224044c5dcf79c2eb8e25c23 /subr/ex_pkg_dispatch.subr
parent7bed8897ea5cd2bb80f275f93e4287754bd5cc97 (diff)
downloadmidipix_build-487c40f31185b5bbcf3c1f278af2fe05150ac9d5.tar.bz2
midipix_build-487c40f31185b5bbcf3c1f278af2fe05150ac9d5.tar.xz
subr/ex_pkg_dispatch.subr: implement *<group>: inhibit group-group dependency expansion.
etc/{build.usage,README.md}, subr/build_init.subr: updated.
Diffstat (limited to 'subr/ex_pkg_dispatch.subr')
-rw-r--r--subr/ex_pkg_dispatch.subr10
1 files changed, 7 insertions, 3 deletions
diff --git a/subr/ex_pkg_dispatch.subr b/subr/ex_pkg_dispatch.subr
index 5d7081c9..f0c0a2b6 100644
--- a/subr/ex_pkg_dispatch.subr
+++ b/subr/ex_pkg_dispatch.subr
@@ -150,6 +150,7 @@ exp_pkg_dispatch_packages() {
# @_build_vars_default: list of default build variables
# @_dispatch_fn: top-level dispatch function name
# @_group_names: build group name(s)
+# @_groups_inhibit_deps: inhibit group-group dependency expansion
# @_njobs_max: maximum count of simultaneous jobs
# @_pipe_path: pathname to build FIFO
# @_restart: optional whitespace-separated list of package names to rebuild
@@ -161,13 +162,16 @@ exp_pkg_dispatch_packages() {
#
ex_pkg_dispatch() {
local _build_steps_default="${1}" _build_vars_default="${2}" _dispatch_fn="${3}" \
- _group_names="${4}" _njobs_max="${5}" _pipe_path="${6}" _restart="${7}" \
- _restart_at="${8}" _restart_recursive="${9}" _workdir="${10}" \
+ _group_names="${4}" _groups_inhibit_deps="${5}" _njobs_max="${6}" _pipe_path="${7}" \
+ _restart="${8}" _restart_at="${9}" _restart_recursive="${10}" _workdir="${11}" \
_pkg_name="" _pkg_names="" _rc=0 \
EXP_PKG_COMPLETE EXP_PKG_DISABLED EXP_PKG_FINISHED EXP_PKG_DISPATCH_COUNT \
EXP_PKG_DISPATCH_COUNT_MAX EXP_PKG_DISPATCH_NJOBS EXP_PKG_NAMES;
EX_PKG_DISPATCH_WAIT="";
- for _group_name in $(rtl_uniq $(rtl_lunfold_depends '${_name}_GROUP_DEPENDS' ${_group_names})); do
+ if [ "${_groups_inhibit_deps:-0}" -eq 0 ]; then
+ _group_names="$(rtl_uniq $(rtl_lunfold_depends '${_name}_GROUP_DEPENDS' ${_group_names}))";
+ fi;
+ for _group_name in ${_group_names}; do
EXP_PKG_COMPLETE="" EXP_PKG_DISABLED="" EXP_PKG_FINISHED="";
EXP_PKG_DISPATCH_COUNT=0 EXP_PKG_DISPATCH_COUNT_MAX=0 EXP_PKG_DISPATCH_NJOBS=0;
EXP_PKG_NAMES="" EX_PKG_DISPATCH_WAIT="";