flatcar-scripts/cros_download_latest_image
bradnelson 825074abc0 Making default to LOGNAME work correctly.
Modifying gsdcurl to accept username and password from the environment. Switching cros_download_latest_image to use gsdcurl

Merge branch 'master' of ssh://chromiumos-git/crosutils

Switching back to MixedCase. Wrong style guide...

Switching to match external style guide.

Dropping unneeded arg as per review.

Fixing copyright.

Making the prompts go to stderr. Renaming for tab completion.

Adding gsdcurl utility for pulling for Google Storage for Developers.

BUG=None
TEST=None

Review URL: http://codereview.chromium.org/3060043
2010-08-03 17:30:53 -07:00

59 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Downloads the latest buildbot image and prints the path to it.
# This script only works if you have access to buildbot images.
# Load common constants. This should be the first executable line.
# The path to common.sh should be relative to your script's location.
. "$(dirname "$0")/common.sh"
get_default_board
DEFINE_string board "$DEFAULT_BOARD" \
"The name of the board to check for images."
DEFINE_boolean incremental "${FLAGS_FALSE}" "Download incremental build"
# Parse command line flags.
FLAGS "$@" || exit 1
eval set -- "${FLAGS_ARGV}"
# Check on the board that they are trying to set up.
if [ -z "$FLAGS_board" ] ; then
die "Error: --board required."
fi
IMAGES_DIR="${DEFAULT_BUILD_ROOT}/images/${FLAGS_board}"
if [ $FLAGS_board = x86-generic ]; then
if [ "$FLAGS_incremental" -eq "$FLAGS_TRUE" ]; then
URL_PREFIX="https://sandbox.google.com/storage/chromeos-archive/x86-generic-bin"
else
URL_PREFIX="https://sandbox.google.com/storage/chromeos-archive/x86-generic-rel"
fi
else
die "Unrecognized board: $FLAGS_board"
fi
read -p "Username [${LOGNAME}]: " GSDCURL_USERNAME
export GSDCURL_USERNAME
read -s -p "Password: " GSDCURL_PASSWORD
export GSDCURL_PASSWORD
LATEST_BUILD=$(bin/cros_gsdcurl.py -s $URL_PREFIX/LATEST)
LATEST_IMAGE_DIR="$IMAGES_DIR/$LATEST_BUILD"
if [ ! -e $LATEST_IMAGE_DIR/chromiumos_base_image.bin ]; then
mkdir -p $LATEST_IMAGE_DIR
bin/cros_gsdcurl.py $URL_PREFIX/$LATEST_BUILD/image.zip -o \
$LATEST_IMAGE_DIR/image.zip \
|| die "Could not download image.zip"
( cd $LATEST_IMAGE_DIR && unzip -qo image.zip ) \
|| die "Could not unzip image.zip"
fi
echo $LATEST_IMAGE_DIR
exit 0