diff options
author | Leah Rowe <leah@libreboot.org> | 2023-08-23 19:56:01 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2023-08-23 21:34:02 +0100 |
commit | 4c6c7d1088eb9dc0c9b2eeeb64febeeb78038583 (patch) | |
tree | 1966a4f85069b3dd3e214d9724dcc0f059d1e6de /resources/scripts/handle | |
parent | 52f3fd359e04caf9dd7bc89889dfc326f5ae9352 (diff) |
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>
Diffstat (limited to 'resources/scripts/handle')
-rwxr-xr-x | resources/scripts/handle/config/file | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/resources/scripts/handle/config/file b/resources/scripts/handle/config/file index f488dccb..6dc0dbeb 100755 --- a/resources/scripts/handle/config/file +++ b/resources/scripts/handle/config/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 |