| Index: archive_build.sh
|
| diff --git a/archive_build.sh b/archive_build.sh
|
| index 233540a627f13055680e91392fd9991c1d29e111..ff2be62ce7feaa69c322ad984e3dfc09b53a5a14 100755
|
| --- a/archive_build.sh
|
| +++ b/archive_build.sh
|
| @@ -6,9 +6,26 @@
|
|
|
| # Script to archive build results. Used by the buildbots.
|
|
|
| -# 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"
|
| +# --- 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 ---
|
|
|
| # Script must be run outside the chroot
|
| assert_outside_chroot
|
| @@ -43,7 +60,8 @@ DEFINE_string acl "private" \
|
| DEFINE_string gsutil_archive "" \
|
| "Optional datastore archive location"
|
| DEFINE_integer keep_max 0 "Maximum builds to keep in archive (0=all)"
|
| -DEFINE_boolean official_build $FLAGS_FALSE "Set CHROMEOS_OFFICIAL=1 for release builds."
|
| +DEFINE_boolean official_build $FLAGS_FALSE \
|
| + "Set CHROMEOS_OFFICIAL=1 for release builds."
|
| DEFINE_boolean test_mod $FLAGS_TRUE "Modify image for testing purposes"
|
| DEFINE_boolean prebuilt_upload $FLAGS_FALSE "Upload prebuilt binary packages."
|
| DEFINE_string to "$DEFAULT_TO" "Directory of build archive"
|
| @@ -57,8 +75,7 @@ eval set -- "${FLAGS_ARGV}"
|
| DEFAULT_USED=
|
|
|
| # Reset "default" FLAGS_from based on passed-in board if not set on cmd-line
|
| -if [ "$FLAGS_from" = "$DEFAULT_FROM" ]
|
| -then
|
| +if [ "$FLAGS_from" = "$DEFAULT_FROM" ]; then
|
| # Keep the directory name of the current image set (*.bin).
|
| IMG_DIR="$(readlink ${IMAGES_DIR}/${FLAGS_board}/latest)"
|
| FLAGS_from="${IMAGES_DIR}/${FLAGS_board}/${IMG_DIR}"
|
| @@ -68,8 +85,7 @@ fi
|
| # Die on any errors.
|
| set -e
|
|
|
| -if [ -z "$DEFAULT_USED" ]
|
| -then
|
| +if [ -z "$DEFAULT_USED" ]; then
|
| if [ $FLAGS_test_mod -eq $FLAGS_TRUE ] || \
|
| [ $FLAGS_factory_install_mod -eq $FLAGS_TRUE ] || \
|
| [ $FLAGS_factory_test_mod -eq $FLAGS_TRUE ]
|
| @@ -81,14 +97,12 @@ then
|
| fi
|
| fi
|
|
|
| -if [ ! -d "$FLAGS_from" ]
|
| -then
|
| +if [ ! -d "$FLAGS_from" ]; then
|
| echo "$FLAGS_from does not exist. Exiting..."
|
| exit 1
|
| fi
|
|
|
| -if [ $FLAGS_official_build -eq $FLAGS_TRUE ]
|
| -then
|
| +if [ $FLAGS_official_build -eq $FLAGS_TRUE ]; then
|
| CHROMEOS_OFFICIAL=1
|
| fi
|
|
|
| @@ -103,8 +117,7 @@ REVISION=${REVISION:0:8}
|
| # Use the version number plus revision as the last change. (Need both, since
|
| # trunk builds multiple times with the same version string.)
|
| LAST_CHANGE="${CHROMEOS_VERSION_STRING}-r${REVISION}"
|
| -if [ -n "$FLAGS_build_number" ]
|
| -then
|
| +if [ -n "$FLAGS_build_number" ]; then
|
| LAST_CHANGE="$LAST_CHANGE-b${FLAGS_build_number}"
|
| fi
|
|
|
| @@ -141,8 +154,7 @@ function do_chroot_mod() {
|
| }
|
|
|
| # Modify image for test if flag set.
|
| -if [ $FLAGS_test_mod -eq $FLAGS_TRUE ]
|
| -then
|
| +if [ $FLAGS_test_mod -eq $FLAGS_TRUE ]; then
|
| echo "Modifying image for test"
|
| do_chroot_mod "${FLAGS_from}/chromiumos_test_image.bin" ""
|
|
|
| @@ -152,16 +164,14 @@ then
|
| popd
|
| fi
|
|
|
| -if [ $FLAGS_factory_test_mod -eq $FLAGS_TRUE ]
|
| -then
|
| +if [ $FLAGS_factory_test_mod -eq $FLAGS_TRUE ]; then
|
| echo "Modifying image for factory test"
|
| do_chroot_mod "${FLAGS_from}/chromiumos_factory_image.bin" \
|
| "--factory"
|
| fi
|
|
|
| # Modify for recovery
|
| -if [ $FLAGS_official_build -eq $FLAGS_TRUE ]
|
| -then
|
| +if [ $FLAGS_official_build -eq $FLAGS_TRUE ]; then
|
| BUILDVER="$(readlink ${IMAGES_DIR}/${FLAGS_board}/latest)"
|
| CHROOT_IMAGE_DIR=/home/$USER/trunk/src/build/images/$FLAGS_board/$BUILDVER
|
| ./enter_chroot.sh -- ./mod_image_for_recovery.sh --board $FLAGS_board \
|
| @@ -175,8 +185,7 @@ fi
|
|
|
| # Build differently sized shims. Currently only factory install shim is
|
| # supported, TODO(tgao): Add developer shim.
|
| -if [ $FLAGS_factory_install_mod -eq $FLAGS_TRUE ]
|
| -then
|
| +if [ $FLAGS_factory_install_mod -eq $FLAGS_TRUE ]; then
|
| echo "Building factory install shim."
|
| # HACK: The build system can't currently handle more than one image size
|
| # at a time. Therefor eit's necessary to do another round of build after
|
| @@ -205,8 +214,7 @@ MANIFEST=`ls | grep -v factory`
|
| zip -r "${ZIPFILE}" ${MANIFEST}
|
|
|
| if [ $FLAGS_factory_test_mod -eq $FLAGS_TRUE ] || \
|
| - [ $FLAGS_factory_install_mod -eq $FLAGS_TRUE ]
|
| -then
|
| + [ $FLAGS_factory_install_mod -eq $FLAGS_TRUE ]; then
|
| # We need to have directory structure for factory package, as
|
| # signing and packaging utilities need unpack_partitions.sh.
|
| echo "Compressing factory software"
|
| @@ -268,8 +276,7 @@ then
|
| fi
|
|
|
|
|
| -if [ $FLAGS_prebuilt_upload -eq $FLAGS_TRUE ]
|
| -then
|
| +if [ $FLAGS_prebuilt_upload -eq $FLAGS_TRUE ]; then
|
| # Construct prebuilt upload command.
|
| # This will upload prebuilt packages to Google Storage.
|
| prebuilt_cmd="${SCRIPTS_DIR}/prebuilt.py"
|
| @@ -287,8 +294,7 @@ fi
|
|
|
| gsutil_archive "${ZIPFILE}" "${LAST_CHANGE}/${FLAGS_zipname}"
|
|
|
| -if [ $FLAGS_archive_debug -eq $FLAGS_TRUE ]
|
| -then
|
| +if [ $FLAGS_archive_debug -eq $FLAGS_TRUE ]; then
|
| echo "Generating Breakpad symbols"
|
| ! ${SCRIPTS_DIR}/cros_generate_breakpad_symbols --board=${FLAGS_board}
|
| echo "Creating debug archive"
|
| @@ -302,16 +308,14 @@ then
|
| fi
|
|
|
| if [ $FLAGS_factory_test_mod -eq $FLAGS_TRUE ] || \
|
| - [ $FLAGS_factory_install_mod -eq $FLAGS_TRUE ]
|
| -then
|
| + [ $FLAGS_factory_install_mod -eq $FLAGS_TRUE ]; then
|
| gsutil_archive "${FACTORY_ZIPFILE}" \
|
| "${LAST_CHANGE}/factory_${FLAGS_zipname}"
|
| fi
|
| gsutil_archive "${FLAGS_to}/LATEST" "LATEST"
|
|
|
| # Purge old builds if necessary
|
| -if [ $FLAGS_keep_max -gt 0 ]
|
| -then
|
| +if [ $FLAGS_keep_max -gt 0 ]; then
|
| echo "Deleting old builds (all but the newest ${FLAGS_keep_max})..."
|
| cd "$FLAGS_to"
|
| # +2 because line numbers start at 1 and need to skip LATEST file
|
|
|