make_release_packages revision 1219
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen#! /bin/ksh93
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen#
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen#
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# Permission is hereby granted, free of charge, to any person obtaining a
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# copy of this software and associated documentation files (the "Software"),
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# to deal in the Software without restriction, including without limitation
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# the rights to use, copy, modify, merge, publish, distribute, sublicense,
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# and/or sell copies of the Software, and to permit persons to whom the
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# Software is furnished to do so, subject to the following conditions:
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen#
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# The above copyright notice and this permission notice (including the next
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# paragraph) shall be included in all copies or substantial portions of the
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# Software.
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen#
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# DEALINGS IN THE SOFTWARE.
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen#
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen#
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# Create and fill a package staging area for X
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen#
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# This script should be run from the base of the build tree.
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen#
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# Arguments:
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# -v Enable verbose mode
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# -p <publisher> Set publisher name in built repo to <publisher>
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen#
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# Make sure that we aren't affected by the personal environment of
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# whoever is running this script
05ea76547573aec80f1b58654bce7b850dd99501Timo SirainenPATH=/usr/bin:/usr/ccs/bin:/opt/onbld/bin:${PATH}
05ea76547573aec80f1b58654bce7b850dd99501Timo SirainenSHELL=/bin/ksh93
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenexport PATH
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenprogname="$0"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenfunction fatal_error
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen{
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen print -u2 "${progname}: ERROR: $*"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen exit 1
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen}
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# Path to directory in build tree containing build tools
05ea76547573aec80f1b58654bce7b850dd99501Timo SirainenBUILD_TOOLS="$(pwd)/open-src/util/build-tools/"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo SirainenVERBOSE_FLAGS="" # verbosity flags passed to make
05ea76547573aec80f1b58654bce7b850dd99501Timo SirainenPUBLISHER_FLAGS="" # publisher flags passed to make
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenset -- $(getopt p:v $*)
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenif [ $? != 0 ] ; then
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen print -u2 USAGE: $0 [-v]
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen exit 2
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenfi
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenfor i in $* ; do
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen case $i in
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen -p) PUBLISHER_FLAGS="PKGPUBLISHER=$2"; shift 2;;
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen -v) VERBOSE_FLAGS="-v"; shift;;
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen esac
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainendone
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen[ -d log ] || mkdir log
05ea76547573aec80f1b58654bce7b850dd99501Timo SirainenLOG="$(pwd)/log/make-pkgs"
05ea76547573aec80f1b58654bce7b850dd99501Timo SirainenCHECK_LOG="$(pwd)/log/check-pkgs"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# Get build version from hg by searching for most recent tag matching s11u*
05ea76547573aec80f1b58654bce7b850dd99501Timo SirainenBUILD_TAG="$(hg parent --template '{latesttag}\n' | \
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen perl -l -n -e 'if ($_ =~ m/^s11u\d+_\d+/) {print $_}')"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenif [[ -z "${BUILD_TAG}" ]] ; then
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen fatal_error "BUILD_TAG could not be found from hg parent"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenfi
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenprint "Building packages for X Consolidation, build ${BUILD_TAG}"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo SirainenMACH="$(uname -p)"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen# Remove old packages
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen/bin/rm -rf "proto/pkg_${MACH}"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo SirainenXMAKE="${BUILD_TOOLS}/xmake ${VERBOSE_FLAGS} -k"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainencd pkg
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen${XMAKE} clean > "${LOG}" 2>&1
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen${XMAKE} install "${PUBLISHER_FLAGS}" > "${LOG}" 2>&1
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenprint "Result log is in ${LOG}"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenprint "Checking built packages"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen${XMAKE} check > "${CHECK_LOG}" 2>&1
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenprint "Package check log is in ${CHECK_LOG}"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen"${BUILD_TOOLS}/find-build-errors" -s "${LOG}"
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainenexit 0
05ea76547573aec80f1b58654bce7b850dd99501Timo Sirainen