diff options
author | Evan Benn <evanbenn@chromium.org> | 2023-01-12 17:37:57 +1100 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-02-09 09:31:06 +0000 |
commit | 03c8969b86187ac1a0dd93a5de5e4b60a0531783 (patch) | |
tree | b3ab97403bc3458a69552cd3062e555a3e45a782 | |
parent | 3495110ff91df002e8b6c13b9af9a80c93d9dbb3 (diff) | |
download | vboot-03c8969b86187ac1a0dd93a5de5e4b60a0531783.tar.gz |
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 <evanbenn@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/4161093
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Yu-Ping Wu <yupingso@chromium.org>
-rwxr-xr-x | scripts/image_signing/get_gbb_flags.sh | 23 |
1 files changed, 7 insertions, 16 deletions
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. |