flatcar-scripts/chromeos_version.sh
2009-11-03 01:01:31 +00:00

96 lines
3.2 KiB
Bash
Executable File

#!/bin/sh
# Copyright (c) 2009 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.
# ChromeOS version information
#
# This file is usually sourced by other build scripts, but can be run
# directly to see what it would do.
#
# Version numbering scheme is much like Chrome's, with the addition of
# double-incrementing branch number so trunk is always odd.
# Sets up a version number for release builds.
export_release_version() {
# Major/minor versions.
# Primarily for product marketing.
export CHROMEOS_VERSION_MAJOR=0
export CHROMEOS_VERSION_MINOR=3
# Branch number.
# Increment by 1 in a new release branch.
# Increment by 2 in trunk after making a release branch.
# Does not reset on a major/minor change (always increases).
# (Trunk is always odd; branches are always even).
export CHROMEOS_VERSION_BRANCH=21
# Patch number.
# Increment by 1 each release on a branch.
# Reset to 0 when increasing branch number.
export CHROMEOS_VERSION_PATCH=0
# Codename of this version.
export CHROMEOS_VERSION_CODENAME="Indy"
}
# Sets up a version for developer builds.
export_developer_version() {
# Use an arbitrarily high number to indicate that this is a dev build.
export CHROMEOS_VERSION_MAJOR=999
# Use the SVN revision number of the tree here.
# TODO(rtc): Figure out how to do this.
export CHROMEOS_VERSION_MINOR=999
# Use the day of year and two digit year.
export CHROMEOS_VERSION_BRANCH=$(date +"%j%y")
export CHROMEOS_VERSION_PATCH=$(date +"%H%M%S")
# Sets the codename to the user who built the image. This
# will help us figure out who did the build if a different
# person is debugging the system.
export CHROMEOS_VERSION_CODENAME="$USER"
}
export_version_string() {
# Version string. Not indentied to appease bash.
export CHROMEOS_VERSION_STRING=\
"${CHROMEOS_VERSION_MAJOR}.${CHROMEOS_VERSION_MINOR}"\
".${CHROMEOS_VERSION_BRANCH}.${CHROMEOS_VERSION_PATCH}"
}
# Official builds must set
# CHROMEOS_OFFICIAL=1
# CHROMEOS_REVISION=(the subversion revision being built).
# Note that ${FOO:-0} means default-to-0-if-unset; ${FOO:?} means die-if-unset.
if [ ${CHROMEOS_OFFICIAL:-0} -eq 1 ]
then
# Official builds (i.e., buildbot)
export_release_version
export_version_string
export CHROMEOS_VERSION_NAME="Chrome OS"
export CHROMEOS_VERSION_TRACK="dev-channel"
# CHROMEOS_REVISION must be set in the environment for official builds
export CHROMEOS_VERSION_DESCRIPTION="${CHROMEOS_VERSION_STRING} (Official Build ${CHROMEOS_REVISION:?})"
export CHROMEOS_VERSION_AUSERVER="https://tools.google.com/service/update2"
export CHROMEOS_VERSION_DEVSERVER=""
else
# Continuous builds and developer hand-builds
export_developer_version
export_version_string
export CHROMEOS_VERSION_NAME="Chromium OS"
export CHROMEOS_VERSION_TRACK="developer-build"
export CHROMEOS_VERSION_DESCRIPTION="${CHROMEOS_VERSION_STRING} (Developer Build - $(date)-$USER)"
HOSTNAME=$(hostname)
export CHROMEOS_VERSION_AUSERVER="http://$HOSTNAME:8080/update"
export CHROMEOS_VERSION_DEVSERVER="http://$HOSTNAME:8080/static/devkit"
fi
# Print version info.
echo "ChromeOS version information:"
env | grep "^CHROMEOS_VERSION" | sed 's/^/ /'