make_release_packages revision 355
c313914d0e66b20969215e519bbf2ab4ecf39512Tinderbox User#! /bin/sh
c80e152862cc3e3207dc837fde7116bd4c0e4b9dTinderbox User#
c80e152862cc3e3207dc837fde7116bd4c0e4b9dTinderbox User# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
8d1b3ceb4d491ce32572f1702f37ed585eede993Evan Hunt#
8d1b3ceb4d491ce32572f1702f37ed585eede993Evan Hunt# Permission is hereby granted, free of charge, to any person obtaining a
d77cb075aae5595e460e3299bfc1e8ea5d42b560Evan Hunt# copy of this software and associated documentation files (the
d77cb075aae5595e460e3299bfc1e8ea5d42b560Evan Hunt# "Software"), to deal in the Software without restriction, including
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews# without limitation the rights to use, copy, modify, merge, publish,
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews# distribute, and/or sell copies of the Software, and to permit persons
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews# to whom the Software is furnished to do so, provided that the above
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews# copyright notice(s) and this permission notice appear in all copies of
30ca20f720ad0887772a79e7abb25b4fa0e4b5b0Mark Andrews# the Software and that both the above copyright notice(s) and this
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrews# permission notice appear in supporting documentation.
7ec97ae74e42ec21b354fd2d1366313b41d947d6Evan Hunt#
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrews# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
701a93f5a592e4652343e049aa495d409c3ee133Mark Andrews# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
002f1373374a0b72fc0329baa682917929bef168Tony Finch# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
002f1373374a0b72fc0329baa682917929bef168Tony Finch# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
8f1ed05dc0aae7ae6c3da6ec6d405df61257a61eMark Andrews# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews#
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews# Except as contained in this notice, the name of a copyright holder
73cf0ba4e82c6baef638ecc4e31321223f841d28Mark Andrews# shall not be used in advertising or otherwise to promote the sale, use
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews# or other dealings in this Software without prior written authorization
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews# of the copyright holder.
d8351dfc9b725b0d727be7acab6247d7d501d9a0Mark Andrews#
3a29ce9c08dd31709c73e7187aebda0d360c537bEvan Hunt# @(#)make_release_packages 1.56 08/03/07
3a29ce9c08dd31709c73e7187aebda0d360c537bEvan Hunt#
5c78f1f50e53d8e2ed51a187efc2c9a0f43b4b1bMark Andrews# Create and fill a package staging area for X
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrews#
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrews# This script should be run from the base of the build tree.
f1740da065d4555039fe8bb53beb4153e3f94de3Mark Andrews# It takes no parameters.
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews#
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews# Example:
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews# cd /export/home/hammer1/WORKSPACES_S493_ALPHA2.1
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews# ./make_release_packages
31c7ab4fb3f7710af87dc9c3d64c5daf9a3dea35Mark Andrews#
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan Hunt# To build a subset of packages
ad309e8dfa0601d6053aaa12770a98a6940f89deEvan Hunt# env PACKAGE_LIST="packages" ./make_release_packages
635e4351b04fd61ca6d853bdac6268c090b55129Mark Andrews#
635e4351b04fd61ca6d853bdac6268c090b55129Mark Andrews
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrews# Make sure that we aren't affected by the personal environment of
fc04365d2f83f197c8a54545dd9cd4ce6a209940Mark Andrews# whoever is running this script
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark AndrewsPATH=/opt/SUNWspro/bin:/opt/SUNWguide/bin:/usr/bin:/usr/ccs/bin:/usr/sbin:.
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark AndrewsSHELL=/bin/sh
7cbac360bf98c0a52b2d6866ad887616c32d4d3aMark Andrews
1cf118a656f5fd210787908b845362077fc507f8Evan HuntMACH=`uname -p`
1cf118a656f5fd210787908b845362077fc507f8Evan HuntDATE=`date +0.%Y.%m.%d`
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt# List of official (deliverable) X-window packages
1cf118a656f5fd210787908b845362077fc507f8Evan HuntXW_PACKAGE_LIST="SUNWxwcft SUNWxwdem SUNWxwdim SUNWxwfs SUNWxwinc \
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt SUNWxwice SUNWxwopt SUNWxwpmn SUNWxwsrc SUNWxwacx SUNWxwdxm \
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt SUNWxwhl SUNWi1of SUNWxwfa SUNWxwpft SUNWxwsrv SUNWxwoft \
1cf118a656f5fd210787908b845362077fc507f8Evan Hunt SUNWfontconfig SUNWfontconfig-root SUNWfontconfig-docs SUNWxwsvr \
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman SUNWxscreensaver-hacks SUNWfreetype2 SUNWxwxft \
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman SUNWxorg-clientlibs SUNWxorg-devel-docs SUNWxorg-headers \
6fb3db01acad7f5c1f4e23789fb0f2ce56cc07deMukund Sivaraman SUNWxorg-client-docs SUNWxorg-client-programs SUNWxorg-compatlinks \
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman SUNWxprint-server SUNWxcursor-themes SUNWvncviewer"
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman# L10N packages are normally only built on sparc since they only have text
fd82c70695888c134287b8018296028c252d100eMukund Sivaraman# files that are the same for both platforms
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsif [ "$MACH" = "sparc" -o "x$BUILD_L10N" = "xyes" ]; then
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews XW_L10N_PACKAGES="SUNW0xacx SUNW0xman SUNW0xpmn SUNW0xwfa SUNW0xwplt \
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews SUNW0xwopt SUNW0xwsvr"
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrewselse
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrews XW_L10N_PACKAGES=" "
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrewsfi
2cf0fe3b8092f64f8f68ae3693fe2e73e90ad1a4Mark Andrews
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt# Which platform name do we use for 64-bit?
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Huntif [ "$MACH" = "sparc" ]; then
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt PLAT_64="sparcv9"
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Huntelse
4221d9cd1d02311fbf9b5f08a038f5af78b10b4aEvan Hunt if [ "$MACH" = "i386" ]; then
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont PLAT_64="amd64"
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont else
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont echo "Unknown architecture - not SPARC nor i386."
f9c410d93711fbf312a0162f1e2d3f2a5ede69afFrancis Dupont exit 1
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień fi
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępieńfi
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień
e526027287b849f0b6ab6e069156697cbafa22c1Michał Kępień#
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaraman# Trusted Extensions packages
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaraman#
929329d2d66a7e1083c70a9c918381935bf12799Mukund Sivaraman
7e1a62eea2e4ba9d6c3fc718e679b965fa514f69Mark AndrewsTSOL_PACKAGE="SUNWxwts SUNWxorg-tsol-module"
ec29d217ba3a2bf3e617a7b5b6708ae221bee999Mark Andrews
ec29d217ba3a2bf3e617a7b5b6708ae221bee999Mark Andrews# Packages with platform-specific prototype files, including those with
afefd754734f896bf3e0590177fff83e7cdfdf35Mark Andrews# 64-bit libraries
afefd754734f896bf3e0590177fff83e7cdfdf35Mark AndrewsXW_PLT_PACKAGE="SUNWxwplt SUNWxwplr SUNWxwfnt SUNWxwrtl SUNWxwslb \
afefd754734f896bf3e0590177fff83e7cdfdf35Mark Andrews SUNWxwmod SUNWxscreensaver-hacks-gl SUNWxwman SUNWxwfsw \
f0353a586c2bfbae999193cb644b6bc94c7944d8Mark Andrews SUNWxorg-server SUNWxorg-graphics-ddx SUNWxorg-doc SUNWxorg-cfg \
f0353a586c2bfbae999193cb644b6bc94c7944d8Mark Andrews SUNWxsun-server SUNWxvnc $TSOL_PACKAGE"
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt# Some packages are only built for certain platforms currently
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Huntif [ "$MACH" = "sparc" ]; then
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt XW_PLT_PACKAGE="$XW_PLT_PACKAGE SUNWxwpsr"
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Huntelse
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt XW_PACKAGE_LIST="$XW_PACKAGE_LIST SUNWxorg-mesa"
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Huntfi
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan HuntEXTRA_PACKAGES=" "
7ff28f5befbee76048a23e504dcd3f9a44ce6209Evan Hunt
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews# To build a subset of packages
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews# PACKAGE_LIST="packages" make_release_packages
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews#
cad79077bd5b2616bc4a7a6b3cbc0953bef8917fMark Andrews: ${PACKAGE_LIST:="$XW_PACKAGE_LIST $XW_PLT_PACKAGE $EXTRA_PACKAGES $XW_L10N_PACKAGES"}
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark Andrews
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark Andrews: ${PACKAGE_DIR:=`pwd`/proto-packages}
adfe58e8e5cd1890585e92b67f1fd01989a1fa7dMark AndrewsSOURCEDIR=`pwd`
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrewscd $SOURCEDIR/packages
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrews# Get build version from pkgversion
c3237dec879f82855403ff7e3ba87b298172efd5Mark Andrewsif [ -f pkgversion ] ; then
cb616c6d5c2ece1fac37fa6e0bca2b53d4043098Mark Andrews . pkgversion
cb616c6d5c2ece1fac37fa6e0bca2b53d4043098Mark Andrewselse
cb616c6d5c2ece1fac37fa6e0bca2b53d4043098Mark Andrews echo "Error: $SOURCEDIR/packages/pkgversion not found. Cannot continue."
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrews exit 1
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrewsfi
c0a2210466dec0cc81ebf2ffbe21693b57b9c29cMark Andrews
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrewsif [ "x${VERSION}" = "x" ] ; then
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrews echo "VERSION not set in $SOURCEDIR/packages/pkgversion - run newPkRev"
534057c9f91a3eb6e0541f3526459c716239b337Mark Andrews exit 1
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrewsfi
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrewsif [ "x${BUILD}" = "x" ] ; then
0f14b041328c062b1fa391887376388dfc8b2fe5Mark Andrews echo "BUILD not set in $SOURCEDIR/packages/pkgversion - run newPkRev"
f7f4730e563a2749629fe7fef4cd9513cd2bfab7Mark Andrews exit 1
f7f4730e563a2749629fe7fef4cd9513cd2bfab7Mark Andrewsfi
1848d38f441ebf70ab21f6151bc3487a92d25b63Mark Andrews
1848d38f441ebf70ab21f6151bc3487a92d25b63Mark AndrewsDECIMAL_BUILD=`echo ${BUILD} | awk '{print $1 / 100.0}'`
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrewsecho "Building packages for X11 version ${VERSION} build ${DECIMAL_BUILD}"
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrews
2d82ed9456e72dc4373bea19d63411afe1c48962Mark Andrewsif [ "$MACH" = "sparc" ]; then
a5a1cbece45e6ca68aafe3b9b995eac6b0f45dd2Mark Andrews PROTODIR=$SOURCEDIR/proto-sun4-svr4
a5a1cbece45e6ca68aafe3b9b995eac6b0f45dd2Mark Andrewselse
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrews PROTODIR=$SOURCEDIR/proto-${MACH}-svr4
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrewsfi
0d6328ce5f6b799f8e7c6cbbb3b965cf29bfb7baMark Andrews
e01ef6f01c7e8f80122cd80a2e011425a0135489Mark Andrews# Next, create the staging area. Make sure that the logs directory
677f507de7c546c187c1505c48bc7b440545485cMark Andrews# is writeable by everyone because it is likely that we will need to
677f507de7c546c187c1505c48bc7b440545485cMark Andrews# write into it as root across an NFS link...
677f507de7c546c187c1505c48bc7b440545485cMark Andrews#
124cc0660c7eff8021c2422fb47441e9ca08b3f9Tinderbox Userecho 'Removing old proto-packages and recreating'
e01ef6f01c7e8f80122cd80a2e011425a0135489Mark Andrews/bin/rm -rf $PACKAGE_DIR
677f507de7c546c187c1505c48bc7b440545485cMark Andrews/bin/mkdir $PACKAGE_DIR
677f507de7c546c187c1505c48bc7b440545485cMark Andrews/bin/mkdir $PACKAGE_DIR/logs
677f507de7c546c187c1505c48bc7b440545485cMark Andrews/bin/chmod a+w $PACKAGE_DIR/logs
677f507de7c546c187c1505c48bc7b440545485cMark Andrews
677f507de7c546c187c1505c48bc7b440545485cMark Andrews
677f507de7c546c187c1505c48bc7b440545485cMark Andrews# Now copy the package description info
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrewsecho 'Copying package descriptions'
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrews# We can't just use `sccs get SCCS' because it will punt if it hits
677f507de7c546c187c1505c48bc7b440545485cMark Andrews# a file which is being edited (writeable).
677f507de7c546c187c1505c48bc7b440545485cMark Andrews#
677f507de7c546c187c1505c48bc7b440545485cMark Andrewsfor F in SCCS/s.*
bf459d24a117ae2c54c37016430b41cd6d73491cMark Andrewsdo
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt /usr/ccs/bin/get -s $F
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Huntdone
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt/bin/cp copyright depend i.* r.* $PACKAGE_DIR >/dev/null 2>&1
f53e0bda467d96dfeeba1b4da30c37b37766bb75Evan Hunt
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępieńfor package in $PACKAGE_LIST common_files
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępieńdo
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępień cd $package
81e3e3084980afcd61416f572c6e72d38a3808abMichał Kępień
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews # See above about sccs usage
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews for F in SCCS/s.*
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews do
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews /usr/ccs/bin/get $F >/dev/null 2>&1
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews done
64d7fa3ec4785b390665860aa6bdae304b3c1d24Mark Andrews
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews /bin/mkdir $PACKAGE_DIR/$package
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews /bin/cp p* d* lib* i.* r.* M* $PACKAGE_DIR/$package >/dev/null 2>&1
75505befa93c993aa5d2df24a2b64eac0c34cbffMark Andrews
a38f07c73790170842e4523b4a474d01ca0dede1Michał Kępień # We keep the master copyright in the top-level copyright file
a38f07c73790170842e4523b4a474d01ca0dede1Michał Kępień # Packages that need additional copyright have copyright.add files
a38f07c73790170842e4523b4a474d01ca0dede1Michał Kępień # that we then merge here
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews cp ../copyright $PACKAGE_DIR/$package/copyright
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews if [ -f copyright.add ] ; then
39d5523a8afc73cbdb4fa426de2ce071267a5d6fMark Andrews chmod +w $PACKAGE_DIR/$package/copyright
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień PROTODIR=$PROTODIR nawk \
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień'BEGIN { PROTODIR = ENVIRON [ "PROTODIR" ]; }
1f4a3c7088594d1b64cd734eb69e1fd023fde8bfMichał Kępień/^include / {
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark Andrews system("cat " PROTODIR "/licenses/" $2)
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark Andrews next
91827e6fd3851a5fe129ef5409ff45833ca01a0eMark Andrews}
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień{ print }' \
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień copyright.add >> $PACKAGE_DIR/$package/copyright
35aae5884f410180706a89a9715bf9a85eeeb4b7Michał Kępień fi
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępień cd ..
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępieńdone
57b1d64d9ae12d56973716e96f9743a00d47af4aMichał Kępień
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępień
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępień# Now move into the package staging area and build the packages.
2d517e233ff3b3fcd272eb5b2e2d3db6d31a1681Michał Kępieńcd $PACKAGE_DIR
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrewsfor D in etc usr var lib licenses ; do
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews /bin/rm -f $D
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews /bin/ln -s $PROTODIR/$D $D
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrewsdone
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrewsfor D in openwin dt sfw bin ; do
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews /bin/rm -f $D
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrews /bin/ln -s $PROTODIR/usr/$D $D
86d2f9abc8493321aacb0d540485de4d562fb734Mark Andrewsdone
09c3efda414314d7edcfb2aed9463fb935fc95a6Mark Andrews
86d2f9abc8493321aacb0d540485de4d562fb734Mark AndrewsLOGfile=logs/package_build
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępień
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał Kępieńecho '---Building packages'
c7e57ce1b0bca9bc7da14bec485f7a7e3e4c761fMichał KępieńXW_PLT_PAT="`echo $XW_PLT_PACKAGE | tr ' ' '|'`"
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark Andrews
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark Andrews# Variables to pass to pkgmk for use in prototype files
3ed16e796dba90c96933c8a8a3f5b9404d8d3e61Mark Andrews# They must start with lowercase letters to be resolved at pkgmk time
14d8a144779b54b103d2da741a2242bf5f9052f7Mark AndrewsPKGMK_VARS="plat_64=${PLAT_64} plat=${MACH}"
14d8a144779b54b103d2da741a2242bf5f9052f7Mark Andrews
14d8a144779b54b103d2da741a2242bf5f9052f7Mark Andrewsfor package in $PACKAGE_LIST
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrewsdo
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrews cd $package
70e041bea19b6ad9522b89c2299ad315a2deaafdMark Andrews date
67247b4a8304bac790648a351a95b8b0f4c512a6Mark Andrews echo "******** Making the $package package ********"
67247b4a8304bac790648a351a95b8b0f4c512a6Mark Andrews
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępień cat pkginfo.tmpl | sed -e '/ARCH/s/ISA/'$MACH'/' -e 's/SUNW_PRODVERS=.*$/SUNW_PRODVERS='${VERSION}/ -e 's/VERSION=.*$/VERSION='${VERSION}.${BUILD},REV=${DATE}/ > pkginfo
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępień if [ -f Makefile ]; then
eeb919b6f572e033d97cf001e4cd44aaff54e5dcMichał Kępień echo make all
a55438eda32ecebf43ead45b216662b7923a465fMark Andrews /usr/ccs/bin/make SOURCEDIR=$SOURCEDIR/packages all
a55438eda32ecebf43ead45b216662b7923a465fMark Andrews fi
a55438eda32ecebf43ead45b216662b7923a465fMark Andrews
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan Hunt eval "case $package in
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan Hunt $XW_PLT_PAT)
8de17f83cafa91a5720dd0b8c1aee5f47f6d7f09Evan Hunt if [ ! -f prototype_$MACH ]; then
9789e54e55b61b669fb31a8b70e9655e8357dda2Mark Andrews ln -s prototype_com prototype_$MACH
9789e54e55b61b669fb31a8b70e9655e8357dda2Mark Andrews fi
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews echo /usr/bin/pkgmk -f prototype_$MACH -d $PACKAGE_DIR/$package -o ${PKGMK_VARS}
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews /usr/bin/pkgmk -f prototype_$MACH -d $PACKAGE_DIR/$package -o ${PKGMK_VARS}
f8362536c647625e602c8450a778a2b7ba90c9f4Mark Andrews ;;
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews *)
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews echo /usr/bin/pkgmk -d $PACKAGE_DIR/$package -o ${PKGMK_VARS}
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews /usr/bin/pkgmk -d $PACKAGE_DIR/$package -o ${PKGMK_VARS}
24231e53a5c3079431f84dcddfee1e761fec7329Mark Andrews ;;
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień esac"
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień echo "******** Done Making the $package package ********"
4b669b69bae7dedda2faa09a7ade247499c1d49cMichał Kępień cd ..
eb11b39981689e4a20fbe95e533577eacab992b4Mukund Sivaramandone >$LOGfile 2>&1
eb11b39981689e4a20fbe95e533577eacab992b4Mukund Sivaraman
eb11b39981689e4a20fbe95e533577eacab992b4Mukund Sivaramanecho result log is in $PACKAGE_DIR/$LOGfile
8daeae9b01a2b7eb9fd6511b352b03bd7d96ae79Michał Kępień
8daeae9b01a2b7eb9fd6511b352b03bd7d96ae79Michał Kępieńprintf "Packages built: "
e7c0f978425f45731b08be1363f20626b0344f23Evan Huntgrep -c "Packaging complete" $PACKAGE_DIR/$LOGfile
e7c0f978425f45731b08be1363f20626b0344f23Evan Huntprintf "Packages failed: "
01967d183990e44752fe61f193dab9c04c3afd9cEvan Huntgrep -c "Packaging was not successful" $PACKAGE_DIR/$LOGfile
01967d183990e44752fe61f193dab9c04c3afd9cEvan Hunt
01967d183990e44752fe61f193dab9c04c3afd9cEvan Hunt# Create an installdir with symlinks to SUNW* pkgs
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrewscd $PACKAGE_DIR
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrewsmkdir installdir
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrewscd installdir
575e9d9e4b6beaae688f107814a320b91243a4b2Mark Andrewsln -s ../SUNW*/SUNW* .
7c442d7fe06bc95432af7513764e5cc85e133648Evan Huntif [ -f $SOURCEDIR/packages/upgrade-X ] ; then
7c442d7fe06bc95432af7513764e5cc85e133648Evan Hunt cp -p $SOURCEDIR/packages/upgrade-X .
7c442d7fe06bc95432af7513764e5cc85e133648Evan Hunt chmod a+x upgrade-X
7c442d7fe06bc95432af7513764e5cc85e133648Evan Huntfi
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępień
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępieńexit
5e1ca7a326741a8f74e6f2b907c7e1fbf428bf80Michał Kępień