summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2025-05-03 05:25:11 +0100
committerLeah Rowe <leah@libreboot.org>2025-05-03 05:25:11 +0100
commit47762c84ad0f5e2a6fbe5ceec0bff623239e1e9a (patch)
tree4c1e3d021fd9bf9823cfb722d82910592c1a1319
parentd18d1c2cae2c1c43c56d5c10adb469266d1eb08b (diff)
lib.sh: add fe_ which is fx_ but err on find
In the mk script, we need fx_ to not return errors on the find command, since it's searching a bunch of directories where some of them may not exist. All other instances where fx_ is used, must return an error if the directory being searched doesn't exist. For this, fe_() is introduced, which does the same as fx_ but with this much stricter check. Signed-off-by: Leah Rowe <leah@libreboot.org>
-rw-r--r--include/inject.sh6
-rw-r--r--include/lib.sh13
2 files changed, 15 insertions, 4 deletions
diff --git a/include/inject.sh b/include/inject.sh
index 0886adc8..2e821d86 100644
--- a/include/inject.sh
+++ b/include/inject.sh
@@ -283,7 +283,7 @@ extract_tbfw()
chkvars TBFW_size # size in bytes, matching TBFW's flash IC
x_ mkdir -p tmp
- x_ rm -f tmp/tb.bin && fx_ copy_tbfw "$appdir" -type f -name "TBT.bin"
+ x_ rm -f tmp/tb.bin && fe_ copy_tbfw "$appdir" -type f -name "TBT.bin"
x_ dd if=/dev/null of=tmp/tb.bin bs=1 seek=$TBFW_size
x_ cp "tmp/tb.bin" "$_dest"
@@ -421,7 +421,7 @@ patch_release_roms()
x_ mkdir -p "tmp"
if readkconfig; then
- fx_ prep_rom "$tmpromdir" -maxdepth 1 -type f -name "*.rom"
+ fe_ prep_rom "$tmpromdir" -maxdepth 1 -type f -name "*.rom"
[ "$nukemode" != "nuke" ] || \
printf "Make sure you inserted vendor files: %s\n" \
"$vguide" > "$tmpromdir/README.md" || :
@@ -571,7 +571,7 @@ modify_mac()
[ "$new_mac" != "restore" ] && x_ make -C util/nvmutil && \
x_ "$nvm" tmp/gbe setmac "$new_mac"
- fx_ newmac "$tmpromdir" -maxdepth 1 -type f -name "*.rom"
+ fe_ newmac "$tmpromdir" -maxdepth 1 -type f -name "*.rom"
printf "\nGbE NVM written to '%s':\n" "$archive"
x_ "$nvm" tmp/gbe dump | grep -v "bytes read from file" || :
diff --git a/include/lib.sh b/include/lib.sh
index 507a37c1..3f5e5d37 100644
--- a/include/lib.sh
+++ b/include/lib.sh
@@ -128,11 +128,22 @@ setvars()
printf "%s\n" "${_setvars% }"
}
+fe_()
+{
+ find_ex "x_" "$@"
+}
+
fx_()
{
+ find_ex "" "$@"
+}
+
+find_ex()
+{
+ errx="$1" && shift 1
fd="`mktemp`"
xx="$1" && shift 1
- find "$@" | sort > "$fd" || $err "!find $(echo "$@") > \"$fd\""
+ $errx find "$@" | sort > "$fd" || $err "!find $(echo "$@") > \"$fd\""
while read -r fx; do
"$xx" "$fx" || break; :
done < "$fd"