summaryrefslogtreecommitdiffhomepage
path: root/subr/ex_pkg_dispatch.subr
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2020-02-25 21:16:30 +0000
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2020-02-25 21:16:30 +0000
commit763157f89f9332cee928ded934643529b541d2ca (patch)
treee4ffdc45b9a3de3e7dd644bc4f5c617e6e39bc0d /subr/ex_pkg_dispatch.subr
parent797b89106d8f50dd0d91110387bd81dc8a8f45be (diff)
downloadmidipix_build-763157f89f9332cee928ded934643529b541d2ca.tar.bz2
midipix_build-763157f89f9332cee928ded934643529b541d2ca.tar.xz
subr/ex_pkg_dispatch.subr:exp_pkg_check_depends(): apply ex_rtl_uniq() to expanded package list.
subr/ex_{pkg_dispatch,rtl_list}.subr: splits ex_rtl_lunfold_depends().
Diffstat (limited to 'subr/ex_pkg_dispatch.subr')
-rw-r--r--subr/ex_pkg_dispatch.subr25
1 files changed, 3 insertions, 22 deletions
diff --git a/subr/ex_pkg_dispatch.subr b/subr/ex_pkg_dispatch.subr
index 0a2a80ff..d3053c47 100644
--- a/subr/ex_pkg_dispatch.subr
+++ b/subr/ex_pkg_dispatch.subr
@@ -14,10 +14,10 @@
exp_pkg_check_depends() {
local _pkg_complete="${1}" _pkg_name="${2}" _pkg_wait="${3}" _restart_recursive="${4}" \
_pkg_depends="" _pkg_name_depend="" _dependfl=0;
- if _pkg_depends="$(exp_pkg_expand_depends $(ex_rtl_get_var_unsafe -u "PKG_"${_pkg_name}"_DEPENDS"))"\
+ if _pkg_depends="$(ex_rtl_lunfold_depends 'PKG_${_name}_DEPENDS' $(ex_rtl_get_var_unsafe -u "PKG_"${_pkg_name}"_DEPENDS"))"\
&& [ -n "${_pkg_depends}" ]\
&& ! [ -n "${_restart}" ] || [ "${_restart_recursive:-0}" -ge 1 ]; then
- for _pkg_name_depend in ${_pkg_depends}; do
+ for _pkg_name_depend in $(ex_rtl_uniq ${_pkg_depends}); do
if ! ex_rtl_lmatch "${_pkg_complete}" "${_pkg_name_depend}"\
|| ex_rtl_lmatch "${_pkg_wait}" "${_pkg_name_depend}"; then
_dependfl=1; break;
@@ -79,25 +79,6 @@ exp_pkg_dispatch_packages() {
};
#
-# exp_pkg_expand_depends() - expand list of package names to amended and ordered list according to dependency constraints
-# @${@}: list of package names
-#
-# Return: zero (0) on success, non-zero (>0) on failure, list of packages on stdout
-#
-exp_pkg_expand_depends() {
- local _pkg_depends="" _pkg_name="" _pkg_names="";
- for _pkg_name in "${@}"; do
- if _pkg_depends="$(ex_rtl_get_var_unsafe -u "PKG_${_pkg_name}_DEPENDS")"\
- && [ -n "${_pkg_depends}" ]; then
- _pkg_depends="$(exp_pkg_expand_depends ${_pkg_depends})";
- _pkg_names="$(ex_rtl_lconcat "${_pkg_names}" "${_pkg_depends}")";
- fi;
- _pkg_names="$(ex_rtl_lconcat "${_pkg_names}" "${_pkg_name}")";
- done;
- echo "${_pkg_names}";
-};
-
-#
# exp_pkg_expand_packages() - expand build group name to list of packages ordered and filtered according to dependency and restart constraints
# @_group_name: build group name
# @_restart: optional comma-separated list of package names to rebuild
@@ -113,7 +94,7 @@ exp_pkg_expand_packages() {
_pkg_names="$(ex_rtl_lsearch "${_pkg_names}" "${_restart}")";
fi;
if ! [ -n "${_restart}" ] || [ "${_restart_recursive:-0}" -ge 1 ]; then
- _pkg_names="$(ex_rtl_uniq $(exp_pkg_expand_depends ${_pkg_names}))";
+ _pkg_names="$(ex_rtl_uniq $(ex_rtl_lunfold_depends 'PKG_${_name}_DEPENDS' ${_pkg_names}))";
fi;
for _pkg_name in ${_pkg_names}; do
if [ -n "$(ex_rtl_get_var_unsafe -u "PKG_${_pkg_name}_DISABLED")" ]; then