summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Benn <evanbenn@chromium.org>2023-01-12 17:37:57 +1100
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-03-29 08:19:08 +0000
commite2e309d5e5428094731fd743df889b3b122f556e (patch)
treeb3ab97403bc3458a69552cd3062e555a3e45a782
parentd1cc1a6f070dbe11161e0edee87c7370401cc300 (diff)
downloadvboot-e2e309d5e5428094731fd743df889b3b122f556e.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 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/4161093 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/4380972 Auto-Submit: Phoebe Wang <phoebewang@chromium.org> Reviewed-by: Cheng Yueh <cyueh@chromium.org> Commit-Queue: Cheng Yueh <cyueh@chromium.org> Tested-by: Phoebe Wang <phoebewang@chromium.org>
-rwxr-xr-xscripts/image_signing/get_gbb_flags.sh23
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.