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/build/release/roms | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'resources/scripts/build/release') 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 $@ -- cgit v1.2.1