scripts: never exit 1, always call err instead

this same change has been applied, selectively, to
certain return statements. the general rule is this:
the return statement should only be used to direct
logic within a script, where certain non-errors
states are used to skip certain actions; the exit
command should *never* be used to return non-zero,
except by err(). in so doing, we ensure easier
debugging of the build system

also: strip_rom_image in build/release/roms was
running "continue" when a rom file didn't exist,
despite not being a while/for loop. i make it
return (non-error condition) instead

it's ok for a script to exit 0, where appropriate,
but perhaps a function could also be written for it

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2023-08-23 19:56:01 +01:00
parent 52f3fd359e
commit 4c6c7d1088
10 changed files with 103 additions and 89 deletions
+6 -4
View File
@@ -93,7 +93,7 @@ main()
"${mode}" "${project}" "${target}"
[ "${project}" != "coreboot" ] || [ "${mode}" != "all" ] || \
./update blobs download ${target} || fail "blobutil"
handle_defconfig || exit 1
handle_defconfig || err "error handling config file"
done
[ "${mode}" = "all" ] && \
@@ -102,10 +102,11 @@ main()
handle_defconfig()
{
handle_dependencies "${target}" || return 1
handle_dependencies "${target}" || \
fail "handle_defconfig: failed call to handle_dependencies"
for y in "${target_dir}/config"/*; do
[ ! -f "${y}" ] && continue
[ -f "${y}" ] || continue
config="${y}"
config_name="${config#$target_dir/config/}"
@@ -139,7 +140,8 @@ handle_dependencies()
codedir="${project}/${tree}"
[ -d "${codedir}" ] || \
./fetch_trees "${project}" "$target" || exit 1
./fetch_trees "${project}" "$target" || \
fail "cannot fetch source tree, ${project}/${target}"
# u-boot and coreboot are both compiled with coreboot's crossgcc
if [ "${project}" = "coreboot" ] || [ "${project}" = "u-boot" ]; then