diff --git a/build_container b/build_container index 4a3a36bff7..4364a9eafd 100755 --- a/build_container +++ b/build_container @@ -58,9 +58,6 @@ eval set -- "${FLAGS_ARGV}" # so will die prematurely if 'switch_to_strict_mode' is specified before now. switch_to_strict_mode -# Determine build version. -OVERLAY_CHROMEOS_DIR="${SRC_ROOT}/third_party/coreos-overlay/coreos" -. "${OVERLAY_CHROMEOS_DIR}/config/coreos_version.sh" || exit 1 # N.B. Ordering matters for some of the libraries below, because # some of the files contain initialization used by later files. . "${BUILD_LIBRARY_DIR}/board_options.sh" || exit 1 diff --git a/build_image b/build_image index cd8021e504..a7b551524d 100755 --- a/build_image +++ b/build_image @@ -90,9 +90,6 @@ eval set -- "${FLAGS_ARGV}" # so will die prematurely if 'switch_to_strict_mode' is specified before now. switch_to_strict_mode -# Determine build version. -OVERLAY_CHROMEOS_DIR="${SRC_ROOT}/third_party/coreos-overlay/coreos" -. "${OVERLAY_CHROMEOS_DIR}/config/coreos_version.sh" || exit 1 # N.B. Ordering matters for some of the libraries below, because # some of the files contain initialization used by later files. . "${BUILD_LIBRARY_DIR}/board_options.sh" || exit 1 diff --git a/build_library/base_container_util.sh b/build_library/base_container_util.sh index cc9a4f5e1a..52b40f26f9 100644 --- a/build_library/base_container_util.sh +++ b/build_library/base_container_util.sh @@ -181,7 +181,7 @@ create_base_container() { emerge_to_image --root="${root_fs_dir}" ${BASE_PACKAGE} # Set /etc/lsb-release on the image. - "${OVERLAY_CHROMEOS_DIR}/scripts/cros_set_lsb_release" \ + "${BUILD_LIBRARY_DIR}/set_lsb_release" \ --root="${root_fs_dir}" \ --board="${BOARD}" diff --git a/build_library/base_image_util.sh b/build_library/base_image_util.sh index 31b1eba012..e32858e501 100755 --- a/build_library/base_image_util.sh +++ b/build_library/base_image_util.sh @@ -209,7 +209,7 @@ create_base_image() { "${root_fs_dir}/var" # Set /etc/lsb-release on the image. - "${OVERLAY_CHROMEOS_DIR}/scripts/cros_set_lsb_release" \ + "${BUILD_LIBRARY_DIR}/set_lsb_release" \ --root="${root_fs_dir}" \ --board="${BOARD}" diff --git a/build_library/build_image_util.sh b/build_library/build_image_util.sh index 81bc7fb725..75a9580771 100755 --- a/build_library/build_image_util.sh +++ b/build_library/build_image_util.sh @@ -11,12 +11,10 @@ # Use canonical path since some tools (e.g. mount) do not like symlinks. # Append build attempt to output directory. -IMAGE_SUBDIR="R${CHROME_BRANCH}" if [ -z "${FLAGS_version}" ]; then - IMAGE_SUBDIR="${IMAGE_SUBDIR}-${CHROMEOS_VERSION_STRING}-a\ -${FLAGS_build_attempt}" + IMAGE_SUBDIR="${COREOS_VERSION_STRING}-a${FLAGS_build_attempt}" else - IMAGE_SUBDIR="${IMAGE_SUBDIR}-${FLAGS_version}" + IMAGE_SUBDIR="${FLAGS_version}" fi BUILD_DIR="${FLAGS_output_root}/${BOARD}/${IMAGE_SUBDIR}" OUTSIDE_OUTPUT_DIR="../build/images/${BOARD}/${IMAGE_SUBDIR}" diff --git a/build_library/set_lsb_release b/build_library/set_lsb_release new file mode 100755 index 0000000000..a7c0a3fc2c --- /dev/null +++ b/build_library/set_lsb_release @@ -0,0 +1,76 @@ +#!/bin/bash + +# Copyright (c) 2011 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. + +# Script to set /etc/lsb-release on the root file system. This script is run by +# build_image inside chroot. + +SCRIPT_ROOT=$(readlink -f $(dirname "$0")/..) +. "${SCRIPT_ROOT}/common.sh" || exit 1 + +# Flags +DEFINE_string board "" "The board to build an image for." +DEFINE_string root "" "The root file system to write /etc/lsb-release to." + +# Parse command line +FLAGS "$@" || exit 1 +eval set -- "${FLAGS_ARGV}" + +set -e + +ROOT_FS_DIR="$FLAGS_root" +[ -n "$ROOT_FS_DIR" ] || die "--root is required." +[ -d "$ROOT_FS_DIR" ] || die "Root FS does not exist? ($ROOT_FS_DIR)" + +COREOS_VERSION_NAME="CoreOS" +COREOS_VERSION_AUSERVER=\ +${COREOS_VERSION_AUSERVER:-"http://$(hostname --fqdn):8080/update"} +COREOS_VERSION_DEVSERVER=\ +${COREOS_VERSION_DEVSERVER:-"http://$(hostname --fqdn):8080"} + +# Official builds must set COREOS_OFFICIAL=1. +if [ ${COREOS_OFFICIAL:-0} = 1 ]; then + # Official builds (i.e., buildbot) + COREOS_VERSION_TRACK="dev-channel" + COREOS_VERSION_NAME="CoreOS" + COREOS_VERSION_DESCRIPTION="${COREOS_VERSION_STRING} (Official Build) \ +${COREOS_VERSION_TRACK} $FLAGS_board test" + COREOS_VERSION_AUSERVER="https://api.core-os.net/v1/update/" + COREOS_VERSION_DEVSERVER="" +elif [ "$USER" = "chrome-bot" ]; then + # Continuous builder + COREOS_VERSION_TRACK="buildbot-build" + COREOS_VERSION_DESCRIPTION="${COREOS_VERSION_STRING} (Continuous Build \ +- Builder: ${BUILDBOT_BUILD:-"N/A"}) $FLAGS_board" +else + # Developer hand-builds + COREOS_VERSION_TRACK=${COREOS_VERSION_TRACK:-"developer-build"} + COREOS_VERSION_DESCRIPTION="${COREOS_VERSION_STRING} (Developer Build \ +- $USER) ${COREOS_VERSION_TRACK} $FLAGS_board" +fi + +# Set coreos-specific version numbers: +# COREOS_RELEASE_BOARD is the target board identifier. +# COREOS_RELEASE_DESCRIPTION is the version displayed by Chrome; see +# chrome/browser/chromeos/chromeos_version_loader.cc. +# COREOS_RELEASE_NAME is a human readable name for the build. +# COREOS_RELEASE_TRACK and COREOS_RELEASE_VERSION are used by the software +# update service. +sudo_append "${ROOT_FS_DIR}/etc/lsb-release" <