From 03c8969b86187ac1a0dd93a5de5e4b60a0531783 Mon Sep 17 00:00:00 2001 From: Evan Benn Date: Thu, 12 Jan 2023 17:37:57 +1100 Subject: get_gbb_flags.sh: Use futility gbb --explicit Replace the shell script implementation of explicit with the futility implementation. BUG=b:260531154 BRANCH=None TEST=get_gbb_flag.sh -e --file=/tmp/bios Change-Id: I6f9079152e0e1e2d1a4f462bb2661ef4e8273c75 Signed-off-by: Evan Benn Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/4161093 Reviewed-by: Edward O'Callaghan Reviewed-by: Yu-Ping Wu --- scripts/image_signing/get_gbb_flags.sh | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) (limited to 'scripts') diff --git a/scripts/image_signing/get_gbb_flags.sh b/scripts/image_signing/get_gbb_flags.sh index 2d00713c..dcf3347f 100755 --- a/scripts/image_signing/get_gbb_flags.sh +++ b/scripts/image_signing/get_gbb_flags.sh @@ -27,6 +27,10 @@ main() { echo 'NOTICE: Please try `futility gbb --get --flags`' 1>&2 local args=() + if [ "${FLAGS_explicit}" = "${FLAGS_TRUE}" ]; then + args+=("--explicit") + fi + if [ -n "${FLAGS_file}" ]; then args+=("${FLAGS_file}") elif [ "${FLAGS_servo}" = "${FLAGS_TRUE}" ]; then @@ -35,22 +39,9 @@ main() { args+=("--flash" "--programmer=${FLAGS_programmer}") fi - # Keep 'local' declaration split from assignment so return code is checked. - local gbb_flags - gbb_flags="$(futility gbb --get --flags "${args[@]}" | grep "flags: ")" - - local raw_gbb_flags - raw_gbb_flags="$(echo "${gbb_flags}" | grep -E -o "0x[0-9a-fA-F]+")" - printf "Chrome OS GBB set %s\n" "${gbb_flags}" - - if [ "${FLAGS_explicit}" = "${FLAGS_TRUE}" ]; then - printf "Chrome OS GBB set flags listed:\n" - echo "${GBBFLAGS_LIST}" | while read -r flag code; do - if [ $((code & raw_gbb_flags)) -ne 0 ]; then - printf "%s\n" "${flag}" - fi - done - fi + set -o pipefail # fail if futility fails + futility gbb --get --flags "${args[@]}" | \ + sed 's/flags: /Chrome OS GBB set flags: /' } # Parse command line. -- cgit v1.2.1