From 575746ee246b5e9b480a7dd2ea2f7112aa0d92bf Mon Sep 17 00:00:00 2001 From: "Eric M. Blake" Date: Thu, 15 Sep 2011 11:39:35 -0700 Subject: Allow path to the cgpt binary to be set on the command line BUG=chromium-os:17138 TEST=tested changes on vm8-m2, was able to successfully run au-generate.py and it used the cgpt binary from au-generate.zip Change-Id: Ia57f1be4b0d669cad430e51977cce6e26d704320 Reviewed-on: http://gerrit.chromium.org/gerrit/7796 Reviewed-by: Gaurav Shah Reviewed-by: Eric Blake Tested-by: Eric Blake (cherry picked from commit 236faae91a224b36fb48ec407535a426f1f67877) Reviewed-on: http://gerrit.chromium.org/gerrit/7944 Reviewed-by: David McMahon Tested-by: David McMahon --- scripts/image_signing/common_minimal.sh | 2 +- scripts/image_signing/convert_recovery_to_ssd.sh | 40 ++++++++++++++++-------- 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/scripts/image_signing/common_minimal.sh b/scripts/image_signing/common_minimal.sh index a68502e7..8db19449 100755 --- a/scripts/image_signing/common_minimal.sh +++ b/scripts/image_signing/common_minimal.sh @@ -10,7 +10,7 @@ # Determine script directory SCRIPT_DIR=$(dirname $0) PROG=$(basename $0) -GPT=cgpt +GPT=${GPT:-"cgpt"} # The tag when the rootfs is changed. TAG_NEEDS_TO_BE_SIGNED="/root/.need_to_be_signed" diff --git a/scripts/image_signing/convert_recovery_to_ssd.sh b/scripts/image_signing/convert_recovery_to_ssd.sh index 9b078afe..748522c8 100755 --- a/scripts/image_signing/convert_recovery_to_ssd.sh +++ b/scripts/image_signing/convert_recovery_to_ssd.sh @@ -7,33 +7,47 @@ # Script to convert a recovery image into an SSD image. Changes are made in- # place. -# Load common constants and variables. -. "$(dirname "$0")/common_minimal.sh" - usage() { cat < [--force] +Usage: $PROG [--force] [--cgpt=/path/to/cgpt] -In-place converts recovery into an SSD image. With --force, does not ask for -confirmation from the user. +In-place converts recovery into an SSD image. With --force, does not +ask for confirmation from the user. Use --cgpt= to specify cgpt binary location. EOF + exit 1 } -if [ $# -gt 2 ]; then +if [ $# -lt 1 ] || [ $# -gt 3 ]; then usage - exit 1 +else + IMAGE=$1 + shift fi -type -P cgpt &>/dev/null || - { echo "cgpt tool must be in the path"; exit 1; } +for arg in $*; do + case "$arg" in + --force) + IS_FORCE=$arg + ;; + --cgpt=*) + GPT=${arg#--cgpt=} + ;; + *) + usage + ;; + esac +done + +# Load common constants (and use GPT if set above) and variables. +. "$(dirname "$0")/common_minimal.sh" + +type -P $GPT &>/dev/null || + { echo "cgpt tool must be in the path or specified via --cgpt"; exit 1; } # Abort on errors. set -e -IMAGE=$1 -IS_FORCE=$2 - if [ "${IS_FORCE}" != "--force" ]; then echo "This will modify ${IMAGE} in-place and convert it into an SSD image." read -p "Are you sure you want to continue (y/N)?" SURE -- cgit v1.2.1