1189N/A#
1189N/A# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
1189N/A#
1189N/A# Permission is hereby granted, free of charge, to any person obtaining a
1189N/A# copy of this software and associated documentation files (the "Software"),
1189N/A# to deal in the Software without restriction, including without limitation
1189N/A# the rights to use, copy, modify, merge, publish, distribute, sublicense,
1189N/A# and/or sell copies of the Software, and to permit persons to whom the
1189N/A# Software is furnished to do so, subject to the following conditions:
1189N/A#
1189N/A# The above copyright notice and this permission notice (including the next
1189N/A# paragraph) shall be included in all copies or substantial portions of the
1189N/A# Software.
1189N/A#
1189N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1189N/A# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1189N/A# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1189N/A# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1189N/A# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1189N/A# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1189N/A# DEALINGS IN THE SOFTWARE.
1189N/A#
1189N/A
1189N/A#
1189N/A# This file has no user serviceable parts.
1189N/A#
1189N/A# If you need to override any value, do not edit it here. Instead,
1189N/A# set the values in your build environment. If you do this, it must
1189N/A# be an integer, and your choice will have ramifications on whether or
1189N/A# not the package repositories you build will be upgradable.
1189N/A#
1189N/A
1189N/A#
1189N/A# Package Version Information
1189N/A#
1189N/A# The package version is described in detail within the pkg(5) man page.
1189N/A# It is made of four components. The values within this file set the
1189N/A# third component, the branch version, which resides after the dash.
1189N/A#
1189N/A# This component needs to accommodate the following:
1189N/A#
1189N/A# o uniquely identifying individual builds to support zone
1189N/A# install/update
1189N/A#
1189N/A# o for the continued movement forwards when Solaris updates,
1189N/A# bug fixes and other requirements are delivered.
1189N/A#
1189N/A# The package branch version scheme is:
1189N/A#
1189N/A# trunk_id.update.SRU.platform.buildid.nightlyid
1189N/A#
1189N/A# where
1189N/A# trunk_id : build number for tip development gate, with leading 0
1189N/A# update : 0 for FCS, 1 for update 1, etc.
1189N/A# SRU : SRU (support repository update) number for this update
1189N/A# platform : reserved for future use.
1189N/A# buildid : the build number of the last non-zero element from above
1189N/A# nightlyid: nightly build identifier
1189N/A#
1189N/A# This scheme is used below.
1189N/A#
1189N/A
1189N/A#
1219N/A# Generate various ids of the packages from the tag in the gate.
1219N/A# In X the Nevada builds were tagged with nv_XXX where XXX is the
1189N/A# build/trunk number.
1189N/A#
1189N/A# When the next development train is started this pattern will need to be
1219N/A# uncommented & changed in order to match the tag used there:
1189N/A#
1219N/A# TRUNKID :sh = hg parent --template '{latesttag}\n' | \
1219N/A# perl -l -n -e 'if ($_ =~ m/^nv_(\d+)/) {print $1} else {exit 1}'
1219N/A
1189N/A# If you get mksh: Fatal error from the above, then you have an unexpected
1189N/A# tag other than nv_XXX in your hg repo. You can run make TRUNKID=123 to
1189N/A# override with a different build id until you fix your repo or this regexp.
1189N/A
1219N/A# For Solaris 11 updates, the TRUNKID is always 175, since that's the build
1219N/A# we branched the updates at.
1219N/ATRUNKID= 175
1219N/A
1189N/A#
1189N/A# The Solaris Update number. This will be set by the gatekeepers.
1189N/A# The value must match the update number of the release.
1189N/A#
1219N/A# Uncomment for development train:
1219N/A# UPDATENUM= 0
1219N/A
1219N/A# For Solaris 11 updates, the update number is part of the tag (s11u1_01 for
1219N/A# instance):
1219N/AUPDATENUM:sh = hg parent --template '{latesttag}\n' | \
1219N/A perl -l -n -e 'if ($_ =~ m/^s11u(\d+)_/) {print $1} else {exit 1}'
1189N/A
1189N/A#
1189N/A# Support Respository Update number. This is here to reserve space within the
1189N/A# version string. Typically it should not be set unless all the packages
1189N/A# are being delivered within an SRU.
1189N/A#
1189N/ASRUNUM= 0
1189N/A
1189N/A#
1189N/A# Platform number. This is here to reserve space within the version
1189N/A# string. It should not be set unless there is a specific need to
1189N/A# release a platform update while the Solaris Update is being built.
1189N/A#
1189N/APLATNUM= 0
1189N/A
1189N/A#
1189N/A# Build Identifier. Used to indicate which build (or respin for
1189N/A# the development build) of the Solaris Update is being built.
1189N/A# This is set by the gatekeepers.
1189N/A#
1219N/A# Uncomment for development train:
1219N/A# BUILDID= 0
1219N/A
1219N/A# For Solaris 11 updates, the build number is part of the tag (s11u1_01 for
1219N/A# instance):
1219N/ABUILDID:sh = hg parent --template '{latesttag}\n' | \
1219N/A perl -l -n -e 'if ($_ =~ m/^s11u\d+_0*(\d+)/) {print $1} else {exit 1}'
1189N/A
1189N/A#
1189N/A# Each (nightly) build of the code that produces packages needs to
1189N/A# be uniquely identified so that packages produced by different
1189N/A# builds can't be mixed. Mixing packages from different builds can
1189N/A# easily result in broken global and nonglobal zones.
1189N/A#
1189N/A# Generate the identifier based upon the changeset id's of the gate.
1189N/A#
1189N/A# Note: :sh is used for the finding the values because it is evaluated
1189N/A# once during the package build.
1189N/A#
1189N/ANIGHTLYID :sh = (hg parent --template '{rev}\n')