summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Zieba <robertzieba@google.com>2022-05-24 13:49:14 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-06-15 23:05:18 +0000
commitdff7e6124b6a9fafe98dd0812f9f454ef979ac5f (patch)
tree92afc64efeb34f3da50664c014e02a8fc8af88b6
parent847ee5a830e4dc1d00fab2eb70465e3cddd1fb27 (diff)
downloadvboot-dff7e6124b6a9fafe98dd0812f9f454ef979ac5f.tar.gz
scripts/image_signing: Move `extract_firmware_bundle` to common.sh
This commit moves `extract_firmware_bundle` into common.sh as this function is useful for other scripts as well. This commit also updates this function to use the `--unpack` option as `--sb_extract` is now deprecated. BRANCH=none BUG=b:202397678 TEST=Verified that scripts continue to work as expected Signed-off-by: Robert Zieba <robertzieba@google.com> Change-Id: Ib5596968f31a4b3b21fb81877d84b28660824818 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3665477 Reviewed-by: Mike Frysinger <vapier@chromium.org>
-rw-r--r--scripts/image_signing/common.sh19
-rwxr-xr-xscripts/image_signing/sign_official_build.sh19
2 files changed, 19 insertions, 19 deletions
diff --git a/scripts/image_signing/common.sh b/scripts/image_signing/common.sh
index efa00a20..85475d8b 100644
--- a/scripts/image_signing/common.sh
+++ b/scripts/image_signing/common.sh
@@ -136,5 +136,24 @@ restore_lsb_selinux() {
sudo setfattr -n security.selinux -v "u:object_r:cros_conf_file:s0" "$1"
}
+# Extracts a firmware updater bundle (for firmware image binaries) file
+# (generated by src/platform/firmware/pack_firmware.sh).
+# Args: INPUT_FILE OUTPUT_DIR
+extract_firmware_bundle() {
+ local input="$(readlink -f "$1")"
+ local output_dir="$2"
+ if [[ ! -s "${input}" ]]; then
+ return 1
+ elif grep -q '^##CUTHERE##' "${input}"; then
+ # Bundle supports self-extraction.
+ "${input}" --unpack "${output_dir}" ||
+ die "Extracting firmware autoupdate (--unpack) failed."
+ else
+ # Legacy bundle - try uudecode.
+ uudecode -o - "${input}" | tar -C "${output_dir}" -zxf - 2>/dev/null ||
+ die "Extracting firmware autoupdate failed."
+ fi
+}
+
# This will override the trap set in common_minmal.sh
trap "cleanup" INT TERM EXIT
diff --git a/scripts/image_signing/sign_official_build.sh b/scripts/image_signing/sign_official_build.sh
index e9c219e6..d1c95c93 100755
--- a/scripts/image_signing/sign_official_build.sh
+++ b/scripts/image_signing/sign_official_build.sh
@@ -330,25 +330,6 @@ verify_image_rootfs() {
disable_rw_mount "${rootfs}"
}
-# Extracts a firmware updater bundle (for firmware image binaries) file
-# (generated by src/platform/firmware/pack_firmware.sh).
-# Args: INPUT_FILE OUTPUT_DIR
-extract_firmware_bundle() {
- local input="$(readlink -f "$1")"
- local output_dir="$2"
- if [ ! -s "${input}" ]; then
- return 1
- elif grep -q '^##CUTHERE##' "${input}"; then
- # Bundle supports self-extraction.
- "$input" --sb_extract "${output_dir}" ||
- die "Extracting firmware autoupdate (--sb_extract) failed."
- else
- # Legacy bundle - try uudecode.
- uudecode -o - ${input} | tar -C ${output_dir} -zxf - 2>/dev/null ||
- die "Extracting firmware autoupdate failed."
- fi
-}
-
# Repacks firmware updater bundle content from given folder.
# Args: INPUT_DIR TARGET_SCRIPT
repack_firmware_bundle() {