make_release_packages revision 595
0N/A# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 407N/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 1124N/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. 154N/A# Except as contained in this notice, the name of a copyright holder 159N/A# shall not be used in advertising or otherwise to promote the sale, use 154N/A# or other dealings in this Software without prior written authorization 292N/A# of the copyright holder. 159N/A# @(#)make_release_packages 1.64 08/12/10 154N/A# Create and fill a package staging area for X 1124N/A# This script should be run from the base of the build tree. 434N/A# It takes no parameters. 0N/A# To build a subset of packages 0N/A# ./make_release_packages packages 0N/A# env PACKAGE_LIST="packages" ./make_release_packages 92N/A# Make sure that we aren't affected by the personal environment of 92N/A# whoever is running this script 456N/A# List of official (deliverable) X-window packages for all platforms 0N/A SUNWpciaccess SUNWpixman SUNWfreetype2 SUNWvncviewer SUNWxcursor-themes 345N/A SUNWxorg-cfg SUNWxorg-client-docs SUNWxorg-client-programs 0N/A SUNWxorg-clientlibs SUNWxorg-compatlinks SUNWxorg-devel-docs 0N/A SUNWxorg-doc SUNWxorg-graphics-ddx SUNWxorg-headers 92N/A SUNWxorg-server SUNWxorg-tsol-module SUNWxprint-server 92N/A SUNWxscreensaver-hacks SUNWxscreensaver-hacks-gl SUNWxsun-server 92N/A SUNWxvnc SUNWxwacx SUNWxwcft SUNWxwdem SUNWxwdim SUNWxwdxm 92N/A SUNWxwfnt SUNWxwfs SUNWxwfsw SUNWxwhl SUNWxwice SUNWxwinc 92N/A SUNWxwman SUNWxwmod SUNWxwoft SUNWxwopt SUNWxwpft SUNWxwplr 92N/A SUNWxwplt SUNWxwpmn SUNWxwrtl SUNWxwslb SUNWxwsrv SUNWxwsvr 92N/A SUNWxwts SUNWxwxft" 92N/A# Some packages are only built for certain platforms currently 92N/A# Localization template packages for delivery to translation teams 92N/A SUNW0xwplt SUNW0xwopt SUNW0xwsvr" 92N/A# FSW* packages are built for the OpenSolaris (Project Indiana) deliveries 92N/A FSWxorg-fonts-cyrillic 92N/A FSWxorg-fonts-ethiopic 92N/A FSWxorg-fonts-iso8859-2 92N/A FSWxorg-fonts-iso8859-3 154N/A FSWxorg-fonts-iso8859-4 92N/A FSWxorg-fonts-iso8859-9 92N/A FSWxorg-fonts-iso8859-10 92N/A FSWxorg-fonts-iso8859-13 345N/A FSWxorg-fonts-iso8859-14 92N/A FSWxorg-fonts-iso8859-16 92N/A# To build a subset of packages: 92N/A# make_release_packages packages 92N/A# env PACKAGE_LIST="packages" make_release_packages 154N/A### Functions for use later 92N/A print -u2 "${progname}: ERROR: $*" 990N/A# Which platform name do we use for 64-bit? 154N/A# Get build version from pkgversion 605N/Aif [[ -z
"${VERSION}" ]] ;
then 605N/Aif [[ -z
"${BUILD}" ]] ;
then 604N/Aprint "Building packages for X11 version ${VERSION} build ${DECIMAL_BUILD}" 604N/Aif [[
"${MACH}" =
"sparc" ]];
then 604N/A# Next, create the staging area. 605N/Aprint 'Removing old proto-packages and recreating' 154N/A# Now copy the package description info 0N/Aprint 'Copying package descriptions' 604N/A # We keep the master copyright in the top-level copyright file 604N/A # that we then merge here 604N/A 'BEGIN { PROTODIR = ENVIRON [ "PROTODIR" ]; } 604N/A system("cat " PROTODIR "/licenses/" $2) 604N/A# Now move into the package staging area and build the packages. 604N/Aprint --
'---Building packages' 604N/A# Variables to pass to pkgmk for use in prototype files 604N/A# They must start with lowercase letters to be resolved at pkgmk time 605N/A print "******** Making the ${package} package ********" 605N/A # build filename from the .tmpl 605N/A if [[ -f
"${pf}.tmpl" && ! -f
"${pf}" ]] ;
then 605N/A # Simple package with the same prototype on all platforms 605N/A # Package with some platform-specific settings in prototype 604N/A print "******** Done Making the ${package} package ********" 604N/Aprint -n
"Packages built: " 604N/Aprint -n
"Packages failed: " 604N/A# Create an installdir with symlinks to built packages