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/build/release/roms | |
| 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/build/release/roms')
| -rwxr-xr-x | resources/scripts/build/release/roms | 28 | 
1 files changed, 18 insertions, 10 deletions
| diff --git a/resources/scripts/build/release/roms b/resources/scripts/build/release/roms index 2f9524c5..8afba9bf 100755 --- a/resources/scripts/build/release/roms +++ b/resources/scripts/build/release/roms @@ -116,8 +116,10 @@ strip_archive()  	romdir=${1}  	[ -d coreboot/${tree} ] || \ -		./fetch_trees coreboot ${tree} || exit 1 -	./build coreboot utils ${tree} || exit 1 +		./fetch_trees coreboot ${tree} || \ +		    err "cannot fetch source tree, coreboot/${tree}" +	./build coreboot utils ${tree} || \ +	    err "cannot build utils for coreboot/${tree}"  	rm -Rf "${romdir}_tmp" # dirty hack, to reduce disk io later  	# rather than using /tmp, which might not be tmpfs @@ -141,30 +143,36 @@ strip_rom_image()  {  	romfile=${1} -	[ -f "${romfile}" ] || continue +	[ -f "${romfile}" ] || return 0  	if [ "${CONFIG_HAVE_ME_BIN}" = "y" ]; then -		${ifdtool} --nuke me "${romfile}" || exit 1 +		${ifdtool} --nuke me "${romfile}" || \ +		    err "cannot nuke Intel ME region on file, ${romfile}"  		mv "${romfile}" "${romdir}_tmp"/  		mv "${romfile}.new" "${romfile}"  	fi  	if [ "${CONFIG_HAVE_MRC}" = "y" ]; then -		${cbfstool} "${romfile}" remove -n mrc.bin || exit 1 -		${cbfstool} "${romfile}" print +		${cbfstool} "${romfile}" remove -n mrc.bin || \ +		    err "cannot remove mrc.bin from file, ${romfile}" +		${cbfstool} "${romfile}" print || :  	fi  	if [ "${CONFIG_KBC1126_FIRMWARE}" = "y" ]; then -		${cbfstool} "${romfile}" remove -n ecfw1.bin || exit 1 -		${cbfstool} "${romfile}" remove -n ecfw2.bin || exit 1 +		${cbfstool} "${romfile}" remove -n ecfw1.bin || \ +		    err "cannot remove ecfw1.bin from file, ${romfile}" +		${cbfstool} "${romfile}" remove -n ecfw2.bin || \ +		    err "cannot remove ecfw2.bin from file, ${romfile}"  	fi  	[ "${CONFIG_INCLUDE_SMSC_SCH5545_EC_FW}" != "y" ] || \ -		${cbfstool} "${romfile}" remove -n sch5545_ecfw.bin || exit 1 +		${cbfstool} "${romfile}" remove -n sch5545_ecfw.bin || \ +		    err "cannot remove sch5545_ecfw.bin from file, ${romfile}"  	# TODO: replace this board-specific hack  	[ "${target}" != "e6400nvidia_4mb" ] || \ -		${cbfstool} "${romfile}" remove -n "pci10de,06eb.rom" || exit 1 +		${cbfstool} "${romfile}" remove -n "pci10de,06eb.rom" || \ +		    err "cannot remove pci10de,06eb.rom from file, ${romfile}"  }  main $@ | 
