summaryrefslogtreecommitdiff
path: root/include/lib.sh
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2025-05-06 14:56:33 +0100
committerLeah Rowe <leah@libreboot.org>2025-05-06 14:56:33 +0100
commit0a93c8238847fc3f595d7431c8a2e12f0603a6ef (patch)
tree2b789fc74085721c7527a69c86b7bd0e5eb69676 /include/lib.sh
parent7d73e45f5b8656371e286cdca006f9731d1b58ca (diff)
parente8be3fd1d41c3c0a81c2cfecb3fa68271ad794ca (diff)
Merge branch 'master' into 25.04_branch25.04_branch
Diffstat (limited to 'include/lib.sh')
-rw-r--r--include/lib.sh51
1 files changed, 16 insertions, 35 deletions
diff --git a/include/lib.sh b/include/lib.sh
index 43b1a318..572fcf68 100644
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -105,14 +105,6 @@ mk()
done; :
}
-check_defconfig()
-{
- [ -d "$1" ] || err "Target '$1' not defined."
- for x in "$1"/config/*; do
- [ -f "$x" ] && printf "%s\n" "$x" && return 1
- done; :
-}
-
setvars()
{
_setvars=""
@@ -144,6 +136,13 @@ chkvars()
done; :
}
+# return 0 if project is single-tree, otherwise 1
+# e.g. coreboot is multi-tree, so 1
+singletree()
+{
+ ( fx_ "exit 1" "config/$1/"*/ -type f -name "target.cfg" ) || return 1
+}
+
fe_()
{
find_ex "x_" "$@"
@@ -159,17 +158,21 @@ find_ex()
xmsg="$1" && shift 1
fd="`mktemp`" && x_ rm -f "$fd" && x_ touch "$fd"
xx="$1" && shift 1
- $xmsg find "$@" 2>/dev/null | sort > "$fd" || \
+ $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 ] && printf "WARNING: x_ called without arguments\n" 1>&2
[ $# -lt 1 ] || [ -n "$1" ] || err "Empty first arg: x_ $(echo "$@")"
[ $# -lt 1 ] || "$@" || err "Unhandled error for: $(echo "$@")"; :
}
@@ -177,28 +180,6 @@ x_()
err()
{
set -u -e
-
- xbmk_err_val=0
- real_err="" && [ -n "${xbmk_err+x}" ] && real_err="$xbmk_err"
-
- if [ -z "$real_err" ]; then
- printf "WARNING: err not set. Defaulting to 'err_'\n" 1>&2
- real_err="err_"
- fi
-
- (
- $real_err "$@" || err_ "Error function '$real_err' *returned* 1"
- err_ "Error function '$real_err' didn't exit"
- exit 1 # just in case!
- ) || xbmk_err_val=1 # otherwise, it wrongly did exit 0, not exit 1
-
- [ $xbmk_err_val -eq 0 ] && err_ "Error function '$real_err' did exit 0"
- exit 1 # just in case!
-}
-
-err_()
-{
- [ $# -lt 1 ] && printf "ERROR (but no error message provided)\n" 1>&2
[ $# -lt 1 ] || printf "ERROR %s: %s\n" "$0" "$1" 1>&2 || :
exit 1
}