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/clean/seabios | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'resources/scripts/build/clean/seabios') diff --git a/resources/scripts/build/clean/seabios b/resources/scripts/build/clean/seabios index b8b17068..e9b11e5b 100755 --- a/resources/scripts/build/clean/seabios +++ b/resources/scripts/build/clean/seabios @@ -21,16 +21,18 @@ [ "x${DEBUG+set}" = 'xset' ] && set -v set -u -e +. "include/err.sh" + # clean bucts # -------------------------------------------------------- printf "Cleaning the previous builds of seabios\n" -rm -Rf elf/seabios || exit 1 +[ ! -d "elf/seabios" ] || rm -Rf elf/seabios || err "cannot remove elf/seabios" [ ! -d "seabios/" ] && exit 0 for x in seabios/*; do [ "${x}" = "seabios/seabios" ] && continue [ ! -d "${x}" ] && continue - make -C "${x}" distclean || exit 1 + make -C "${x}" distclean || err "cannot distclean tree, ${x}" done -- cgit v1.2.1