From 4c6c7d1088eb9dc0c9b2eeeb64febeeb78038583 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 23 Aug 2023 19:56:01 +0100 Subject: 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 --- resources/scripts/handle/config/file | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'resources/scripts/handle/config/file') 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 -- cgit v1.2.1