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 <gauravsh@chromium.org>
Reviewed-by: Eric Blake <eblake@chromium.org>
Tested-by: Eric Blake <eblake@chromium.org>
This commit is contained in:
Eric M. Blake
2011-09-15 11:39:35 -07:00
committed by Eric Blake
parent ec35beb128
commit 236faae91a
2 changed files with 28 additions and 14 deletions

View File

@@ -10,7 +10,7 @@
# Determine script directory # Determine script directory
SCRIPT_DIR=$(dirname $0) SCRIPT_DIR=$(dirname $0)
PROG=$(basename $0) PROG=$(basename $0)
GPT=cgpt GPT=${GPT:-"cgpt"}
# The tag when the rootfs is changed. # The tag when the rootfs is changed.
TAG_NEEDS_TO_BE_SIGNED="/root/.need_to_be_signed" TAG_NEEDS_TO_BE_SIGNED="/root/.need_to_be_signed"

View File

@@ -7,33 +7,47 @@
# Script to convert a recovery image into an SSD image. Changes are made in- # Script to convert a recovery image into an SSD image. Changes are made in-
# place. # place.
# Load common constants and variables.
. "$(dirname "$0")/common_minimal.sh"
usage() { usage() {
cat <<EOF cat <<EOF
Usage: $PROG <image> [--force] Usage: $PROG <image> [--force] [--cgpt=/path/to/cgpt]
In-place converts recovery <image> into an SSD image. With --force, does not ask for In-place converts recovery <image> into an SSD image. With --force, does not
confirmation from the user. ask for confirmation from the user. Use --cgpt= to specify cgpt binary location.
EOF EOF
exit 1
} }
if [ $# -gt 2 ]; then if [ $# -lt 1 ] || [ $# -gt 3 ]; then
usage usage
exit 1 else
IMAGE=$1
shift
fi fi
type -P cgpt &>/dev/null || for arg in $*; do
{ echo "cgpt tool must be in the path"; exit 1; } 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. # Abort on errors.
set -e set -e
IMAGE=$1
IS_FORCE=$2
if [ "${IS_FORCE}" != "--force" ]; then if [ "${IS_FORCE}" != "--force" ]; then
echo "This will modify ${IMAGE} in-place and convert it into an SSD image." 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 read -p "Are you sure you want to continue (y/N)?" SURE