From 187d5fa41808535796a56851ee3ee1083feef642 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 20 May 2023 18:19:35 +0100 Subject: [PATCH] build/descriptors: simplify and fix error handling main() on top some parts of the script weren't erroring properly Signed-off-by: Leah Rowe --- resources/scripts/build/descriptors/ich9m | 71 +++++++++++++---------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/resources/scripts/build/descriptors/ich9m b/resources/scripts/build/descriptors/ich9m index 9f4cce6c..b9a077d9 100755 --- a/resources/scripts/build/descriptors/ich9m +++ b/resources/scripts/build/descriptors/ich9m @@ -1,44 +1,51 @@ #!/usr/bin/env sh -# Copyright (C) 2020 Leah Rowe +# Copyright (C) 2020, 2023 Leah Rowe # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . # -# This script assumes that the current working directory is the root -# of libreboot_src or libreboot git - [ "x${DEBUG+set}" = 'xset' ] && set -v set -u -e -if [ ! -f "util/ich9utils/ich9gen" ]; then - ( - cd util/ich9utils/ - make clean - make -j$(nproc) - ) -fi -if [ ! -f "util/ich9utils/ich9gen" ]; then - printf "build/descriptors/ich9m: ich9gen wasn't compiled. Exiting\n" +ich9gen="util/ich9utils/ich9gen" + +main() +{ + if [ ! -f "${ich9gen}" ]; then + ( + cd util/ich9utils/ || err "cd" + make clean || err "make-clean" + make -j$(nproc) || err "make" + ) + fi + [ ! -f "${ich9gen}" ] && \ + err "ich9gen doesn't exist" + + [ -d "descriptors/ich9m/" ] || mkdir -p "descriptors/ich9m/" + rm -f descriptors/ich9m/* || err "rm-rf" + + ( + cd descriptors/ich9m/ || err "cd2" + ../../"${ich9gen}" || err "ich9gen" + ) +} + +err() +{ + printf "%s: %s\n" $0 $1 exit 1 -fi +} -[ -d "descriptors/" ] || mkdir -p "descriptors/" -[ -d "descriptors/ich9m/" ] || mkdir -p "descriptors/ich9m/" -rm -f descriptors/ich9m/* - -( - cd descriptors/ich9m/ - ../../util/ich9utils/ich9gen -) +main $@