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 | 
