From fac99aa2d4478268453bdbe36f9397c15328201e Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 6 May 2025 20:24:32 +0100 Subject: lib.sh: re-add missing break in fe/fx_ Signed-off-by: Leah Rowe --- include/lib.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/lib.sh') diff --git a/include/lib.sh b/include/lib.sh index 572fcf68..a125181b 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -160,14 +160,14 @@ find_ex() xx="$1" && shift 1 $xmsg find "$@" 2>/dev/null | sort 1>"$fd" 2>/dev/null || \ err "!find $(echo "$@") > \"$fd\"" - dx_ "$xx" "$fd" + dx_ "$xx" "$fd" || break x_ rm -f "$fd" } dx_() { [ -f "$2" ] && while read -r fx; do - $1 "$fx" + $1 "$fx" || return 1 done < "$2"; : } -- cgit v1.2.1 From 0faef899469818410e5e6d481f1e6c4fa5ad3d3d Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 7 May 2025 13:27:25 +0100 Subject: lib.sh: support any command on find_exec() right now, we assume "find", but it adds any number of arguments next to that. change it instead to support any command, where the assumption is that it would generate a list of files and directories. Signed-off-by: Leah Rowe --- include/lib.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'include/lib.sh') diff --git a/include/lib.sh b/include/lib.sh index a125181b..f20b17e9 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -140,7 +140,8 @@ chkvars() # e.g. coreboot is multi-tree, so 1 singletree() { - ( fx_ "exit 1" "config/$1/"*/ -type f -name "target.cfg" ) || return 1 + ( fx_ "exit 1" find "config/$1/"*/ -type f -name "target.cfg" ) || \ + return 1 } fe_() @@ -158,7 +159,7 @@ 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 1>"$fd" 2>/dev/null || \ + $xmsg "$@" 2>/dev/null | sort 1>"$fd" 2>/dev/null || \ err "!find $(echo "$@") > \"$fd\"" dx_ "$xx" "$fd" || break x_ rm -f "$fd" -- cgit v1.2.1 From ec5c954337b2e1ea50b0ace0f1086e48f20e7774 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 7 May 2025 15:12:10 +0100 Subject: lib.sh: Simplified fx_() and removed fe_() Instead of calling fe_, prefix x_ as indicated. Signed-off-by: Leah Rowe --- include/lib.sh | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) (limited to 'include/lib.sh') diff --git a/include/lib.sh b/include/lib.sh index f20b17e9..274daf69 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -144,23 +144,11 @@ singletree() return 1 } -fe_() -{ - find_ex "x_" "$@" -} - fx_() { - find_ex "" "$@" -} - -find_ex() -{ - xmsg="$1" && shift 1 fd="`mktemp`" && x_ rm -f "$fd" && x_ touch "$fd" xx="$1" && shift 1 - $xmsg "$@" 2>/dev/null | sort 1>"$fd" 2>/dev/null || \ - err "!find $(echo "$@") > \"$fd\"" + "$@" 2>/dev/null | sort 1>"$fd" 2>/dev/null || err "FATAL: !sort fx_" dx_ "$xx" "$fd" || break x_ rm -f "$fd" } -- cgit v1.2.1 From 7f71328f0e214db25f5dcccea0dab32ea834fb13 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 7 May 2025 16:23:12 +0100 Subject: lib.sh: Remove useless command in err() We don't need this, since we're exiting anyway. Signed-off-by: Leah Rowe --- include/lib.sh | 1 - 1 file changed, 1 deletion(-) (limited to 'include/lib.sh') diff --git a/include/lib.sh b/include/lib.sh index 274daf69..950a07c8 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -168,7 +168,6 @@ x_() err() { - set -u -e [ $# -lt 1 ] || printf "ERROR %s: %s\n" "$0" "$1" 1>&2 || : exit 1 } -- cgit v1.2.1 From cba04aa74b816cbd5f1266a73962f6dd48ee2892 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 7 May 2025 19:00:13 +0100 Subject: init.sh: Use readlink in pybin() Use realpath only as a fallback. Signed-off-by: Leah Rowe --- include/lib.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'include/lib.sh') diff --git a/include/lib.sh b/include/lib.sh index 950a07c8..99e59a1a 100644 --- a/include/lib.sh +++ b/include/lib.sh @@ -144,6 +144,18 @@ singletree() return 1 } +findpath() +{ + [ $# -gt 0 ] || err "findpath: No arguments provided" + while [ $# -gt 0 ]; do + found="`readlink -f "$1" 2>/dev/null`" || return 1; : + [ -n "$found" ] || found="`realpath "$1" 2>/dev/null`" || \ + return 1; : + printf "%s\n" "$found" + shift 1 + done +} + fx_() { fd="`mktemp`" && x_ rm -f "$fd" && x_ touch "$fd" -- cgit v1.2.1