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
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"

View File

@@ -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 <<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
confirmation from the user.
In-place converts recovery <image> 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