make_release_packages revision 731
606N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 731N/A# Use is subject to license terms. 0N/A# Permission is hereby granted, free of charge, to any person obtaining a 0N/A# copy of this software and associated documentation files (the 0N/A# "Software"), to deal in the Software without restriction, including 0N/A# without limitation the rights to use, copy, modify, merge, publish, 0N/A# distribute, and/or sell copies of the Software, and to permit persons 0N/A# to whom the Software is furnished to do so, provided that the above 0N/A# copyright notice(s) and this permission notice appear in all copies of 0N/A# the Software and that both the above copyright notice(s) and this 0N/A# permission notice appear in supporting documentation. 0N/A# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 0N/A# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 0N/A# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 0N/A# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 0N/A# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL 0N/A# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING 0N/A# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 0N/A# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 0N/A# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 0N/A# Except as contained in this notice, the name of a copyright holder 0N/A# shall not be used in advertising or otherwise to promote the sale, use 0N/A# or other dealings in this Software without prior written authorization 0N/A# of the copyright holder. 731N/A# @(#)make_release_packages 1.74 09/06/18 0N/A# Create and fill a package staging area for X 0N/A# This script should be run from the base of the build tree. 0N/A# It takes no parameters. 0N/A# ./make_release_packages 0N/A# To build a subset of packages 561N/A# ./make_release_packages packages 0N/A# env PACKAGE_LIST="packages" ./make_release_packages 0N/A# Make sure that we aren't affected by the personal environment of 0N/A# whoever is running this script 493N/A# List of official (deliverable) X-window packages for all platforms 577N/A SUNWpciaccess SUNWpixman SUNWfreetype2 SUNWvncviewer SUNWxcursor-themes 705N/A SUNWxorg-client-docs SUNWxorg-client-programs 702N/A SUNWxorg-clientlibs SUNWxorg-compatlinks 606N/A SUNWxorg-graphics-ddx SUNWxorg-headers 637N/A SUNWxorg-server SUNWxorg-tsol-module 721N/A SUNWxscreensaver-hacks SUNWxscreensaver-hacks-gl 619N/A SUNWxvnc SUNWxwacx SUNWxwcft SUNWxwdem SUNWxwdxm 663N/A SUNWxwfnt SUNWxwfs SUNWxwfsw SUNWxwice SUNWxwinc 637N/A SUNWxwman SUNWxwmod SUNWxwoft SUNWxwopt SUNWxwplr 725N/A SUNWxwplt SUNWxwpmn SUNWxwrtl SUNWxwslb SUNWxwsvr 493N/A# Some packages are only built for certain platforms currently 493N/A# Localization template packages for delivery to translation teams 493N/A SUNW0xwplt SUNW0xwopt SUNW0xwsvr" 561N/A# FSW* packages are built for the OpenSolaris (Project Indiana) deliveries 561N/A FSWxorg-fonts-iso8859-2 561N/A FSWxorg-fonts-iso8859-3 561N/A FSWxorg-fonts-iso8859-4 561N/A FSWxorg-fonts-iso8859-9 561N/A FSWxorg-fonts-iso8859-10 561N/A FSWxorg-fonts-iso8859-13 561N/A FSWxorg-fonts-iso8859-14 561N/A FSWxorg-fonts-iso8859-16 561N/A# To build a subset of packages: 561N/A# make_release_packages packages 561N/A# env PACKAGE_LIST="packages" make_release_packages 493N/A### Functions for use later 493N/A print -u2 "${progname}: ERROR: $*" 606N/A system(\"cat $1/\" \$2) 493N/A# Which platform name do we use for 64-bit? 0N/A# Get build version from pkgversion 493N/Aif [[ -z
"${VERSION}" ]] ;
then 493N/Aif [[ -z
"${BUILD}" ]] ;
then 493N/Aprint "Building packages for X11 version ${VERSION} build ${DECIMAL_BUILD}" 493N/Aif [[
"${MACH}" =
"sparc" ]];
then 493N/A# Next, create the staging area. 493N/Aprint 'Removing old proto-packages and recreating' 0N/A# Now copy the package description info 493N/Aprint 'Copying package descriptions' 606N/A print "packages/${package} not found ; skipping" 0N/A # We keep the master copyright in the top-level copyright file 0N/A # that we then merge here 0N/A# Now move into the package staging area and build the packages. 493N/Aprint --
'---Building packages' 0N/A# Variables to pass to pkgmk for use in prototype files 0N/A# They must start with lowercase letters to be resolved at pkgmk time 606N/A print "******** Making the ${package} package ********" 606N/A print "${PACKAGE_DIR}/${package} was not found ; skipping" 561N/A # build filename from the .tmpl 561N/A if [[ -f
"${pf}.tmpl" && ! -f
"${pf}" ]] ;
then 606N/A # build filename from the .tmpl 606N/A if [[ -f
"${df}.tmpl" && ! -f
"${df}" ]] ;
then 493N/A # Simple package with the same prototype on all platforms 493N/A # Package with some platform-specific settings in prototype 493N/A print "******** Done Making the ${package} package ********" 493N/Aprint -n
"Packages built: " 493N/Aprint -n
"Packages failed: " 561N/A# Create an installdir with symlinks to built packages