make_release_packages revision 919
551N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 551N/A# Use is subject to license terms. 551N/A# Permission is hereby granted, free of charge, to any person obtaining a 551N/A# copy of this software and associated documentation files (the "Software"), 551N/A# to deal in the Software without restriction, including without limitation 551N/A# the rights to use, copy, modify, merge, publish, distribute, sublicense, 551N/A# and/or sell copies of the Software, and to permit persons to whom the 551N/A# Software is furnished to do so, subject to the following conditions: 551N/A# The above copyright notice and this permission notice (including the next 551N/A# paragraph) shall be included in all copies or substantial portions of the 551N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 551N/A# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 551N/A# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 551N/A# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 551N/A# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 551N/A# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 551N/A# DEALINGS IN THE SOFTWARE. 551N/A# Create and fill a package staging area for X 551N/A# This script should be run from the base of the build tree. 851N/A# It takes no parameters. 551N/A# ./make_release_packages 551N/A# To build a subset of packages 551N/A# ./make_release_packages packages 551N/A# env PACKAGE_LIST="packages" ./make_release_packages 551N/A# Make sure that we aren't affected by the personal environment of 551N/A# whoever is running this script 551N/A# List of official (deliverable) X-window packages for all platforms # Localization template packages for delivery to translation teams # To build a subset of packages: # make_release_packages packages # env PACKAGE_LIST="packages" make_release_packages ### Functions for use later print -u2 "${progname}: ERROR: $*" # Which platform name do we use for 64-bit? *)
fatal_error "Unknown architecture - not SPARC nor i386." ;;
# Hardcode base package version for now, append OS version from uname # Get build version from hg by searching for most recent tag matching nv_* perl -l -n -e 'if ($_ =~ m/^tag:\s+nv_(\d+)/) {print $1 ; exit}')" if [[ -z
"${BUILD_TAG}" ]] ;
then print "Building packages for X11 version ${VERSION} build ${BUILD_TAG}" if [[
"${MACH}" =
"sparc" ]];
then # Next, create the staging area. print 'Removing old proto-packages and recreating' # Now copy the package description info print 'Copying package descriptions' print "packages/${package} not found ; skipping" # We keep the master copyright in the top-level copyright file # Packages that need additional copyright have copyright.add files # that we then merge here # Now move into the package staging area and build the packages. print --
'---Building packages' # Variables to pass to pkgmk for use in prototype files # They must start with lowercase letters to be resolved at pkgmk time print "******** Making the ${package} package ********" print "${PACKAGE_DIR}/${package} was not found ; skipping" # build filename from the .tmpl if [[ -f
"${pf}.tmpl" && ! -f
"${pf}" ]] ;
then # build filename from the .tmpl if [[ -f
"${df}.tmpl" && ! -f
"${df}" ]] ;
then # Simple package with the same prototype on all platforms # Package with some platform-specific settings in prototype print "******** Done Making the ${package} package ********" print -n
"Packages built: " print -n
"Packages failed: " # Create an installdir with symlinks to built packages