diff options
author | Leah Rowe <leah@libreboot.org> | 2025-05-05 21:33:29 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2025-05-05 21:37:16 +0100 |
commit | 282b939d9dae58f2ef128b3a866ba8640f87739b (patch) | |
tree | a0c5af62f76744a55eb621fc8a440dabe2a37e80 | |
parent | 73074dedee33bfa66edfc9a19dd9625598911518 (diff) |
init.sh: New function dx_ to execute path files
Generated by find, this is a wrapper in place of using
for loops everywhere. This simplification temporarily
increases the amount of code, because we don't do this
a lot, but this will reduce the growth of the build
system code size in future changes.
Signed-off-by: Leah Rowe <leah@libreboot.org>
-rw-r--r-- | include/git.sh | 4 | ||||
-rw-r--r-- | include/lib.sh | 11 |
2 files changed, 9 insertions, 6 deletions
diff --git a/include/git.sh b/include/git.sh index 7995df06..535c7d6e 100644 --- a/include/git.sh +++ b/include/git.sh @@ -54,9 +54,7 @@ git_prep() chkvars rev tmpclone "$1" "$2" "$tmpgit" "$rev" "$_patchdir" if singletree "$project" || [ $# -gt 4 ]; then - [ -f "$mdir/module.list" ] && while read -r msrcdir; do - fetch_submodule "$msrcdir" - done < "$mdir/module.list"; : + dx_ fetch_submodule "$mdir/module.list" fi [ "$_loc" != "$XBMK_CACHE/repo/$project" ] && \ diff --git a/include/lib.sh b/include/lib.sh index 530ea170..572fcf68 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -160,12 +160,17 @@ find_ex() xx="$1" && shift 1 $xmsg find "$@" 2>/dev/null | sort 1>"$fd" 2>/dev/null || \ err "!find $(echo "$@") > \"$fd\"" - while read -r fx; do - $xx "$fx" || break; : - done < "$fd" + dx_ "$xx" "$fd" x_ rm -f "$fd" } +dx_() +{ + [ -f "$2" ] && while read -r fx; do + $1 "$fx" + done < "$2"; : +} + x_() { [ $# -lt 1 ] || [ -n "$1" ] || err "Empty first arg: x_ $(echo "$@")" |