diff options
author | Robert Zieba <robertzieba@google.com> | 2022-05-24 13:49:14 -0600 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-06-15 23:05:18 +0000 |
commit | dff7e6124b6a9fafe98dd0812f9f454ef979ac5f (patch) | |
tree | 92afc64efeb34f3da50664c014e02a8fc8af88b6 /scripts | |
parent | 847ee5a830e4dc1d00fab2eb70465e3cddd1fb27 (diff) | |
download | vboot-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>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/image_signing/common.sh | 19 | ||||
-rwxr-xr-x | scripts/image_signing/sign_official_build.sh | 19 |
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() { |