| #!/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. |
| |
| # --- BEGIN COMMON.SH BOILERPLATE --- |
| # Load common CrOS utilities. Inside the chroot this file is installed in |
| # /usr/lib/crosutils. Outside the chroot we find it relative to the script's |
| # location. |
| find_common_sh() { |
| local common_paths=(/usr/lib/crosutils $(dirname "$(readlink -f "$0")")) |
| local path |
| |
| SCRIPT_ROOT= |
| for path in "${common_paths[@]}"; do |
| if [ -r "${path}/common.sh" ]; then |
| SCRIPT_ROOT=${path} |
| break |
| fi |
| done |
| } |
| |
| find_common_sh |
| . "${SCRIPT_ROOT}/common.sh" || { echo "Unable to load common.sh"; exit 1; } |
| # --- END COMMON.SH BOILERPLATE --- |
| |
| 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 |
| |
| BUCKET="chromeos-image-archive" |
| if [ $FLAGS_board = x86-generic ]; then |
| if [ "$FLAGS_incremental" -eq "$FLAGS_TRUE" ]; then |
| PATH_PREFIX="x86-generic-pre-flight-queue" |
| else |
| PATH_PREFIX="x86-generic-full" |
| fi |
| else |
| die "Unrecognized board: $FLAGS_board" |
| fi |
| |
| URL_PREFIX="gs://$BUCKET/$PATH_PREFIX" |
| LATEST_BUILD=$(gsutil cat $URL_PREFIX/LATEST) |
| IMAGES_DIR="$DEFAULT_BUILD_ROOT/images/$FLAGS_board" |
| LATEST_IMAGE_DIR="$IMAGES_DIR/$LATEST_BUILD" |
| if [ ! -e $LATEST_IMAGE_DIR/chromiumos_base_image.bin ]; then |
| mkdir -p $LATEST_IMAGE_DIR |
| gsutil cp "$URL_PREFIX/$LATEST_BUILD/image.zip" \ |
| "$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 |