make_release_packages
changeset 561 3c2df35483af
parent 513 9c7b32aa7a41
child 577 cd96438515cb
--- a/make_release_packages	Mon Oct 06 16:44:14 2008 -0700
+++ b/make_release_packages	Mon Oct 06 17:28:50 2008 -0700
@@ -27,7 +27,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 # 
-# @(#)make_release_packages	1.61 08/08/27
+# @(#)make_release_packages	1.62 08/10/06
 #
 #	Create and fill a package staging area for X
 #
@@ -39,6 +39,8 @@
 #	    ./make_release_packages
 #
 #   To build a subset of packages
+#	./make_release_packages packages
+#		or
 #	env PACKAGE_LIST="packages" ./make_release_packages
 #
 
@@ -83,10 +85,39 @@
     XW_L10N_PACKAGES=" "
 fi
 
-#   To build a subset of packages
-#	PACKAGE_LIST="packages" make_release_packages
+# FSW* packages are built for the OpenSolaris (Project Indiana) deliveries
+FSW_PACKAGE_LIST="
+	FSWxorg-fonts-core
+	FSWxorg-fonts-cyrillic
+	FSWxorg-fonts-daewoo
+	FSWxorg-fonts-ethiopic
+	FSWxorg-fonts-iso8859-2
+	FSWxorg-fonts-iso8859-3
+	FSWxorg-fonts-iso8859-4
+	FSWxorg-fonts-iso8859-9
+	FSWxorg-fonts-iso8859-10
+	FSWxorg-fonts-iso8859-13
+	FSWxorg-fonts-iso8859-14
+	FSWxorg-fonts-iso8859-16
+	FSWxorg-fonts-jiskan
+	FSWxorg-fonts-syriac
+	FSWxorg-fonts-vera
+"
+
+if [[ "$BUILD_FSW" != "no" ]]; then
+    EXTRA_PACKAGES+="${FSW_PACKAGE_LIST}"
+fi
+
+#   To build a subset of packages:
+#	make_release_packages packages
+#		or
+#	env PACKAGE_LIST="packages" make_release_packages
 #
-: ${PACKAGE_LIST:="$XW_PACKAGE_LIST $EXTRA_PACKAGES $XW_L10N_PACKAGES"}
+if (( $# > 0 )) ; then
+    PACKAGE_LIST="$*"
+else
+    : ${PACKAGE_LIST:="$XW_PACKAGE_LIST $EXTRA_PACKAGES $XW_L10N_PACKAGES"}
+fi
 
 ### Functions for use later
 function print_and_run
@@ -113,22 +144,23 @@
 
 : ${PACKAGE_DIR:="$(pwd)/proto-packages"}
 SOURCE_DIR="$(pwd)"
+PKG_SOURCE_DIR=${SOURCE_DIR}/packages
 
-cd ${SOURCE_DIR}/packages
+cd ${PKG_SOURCE_DIR}
 
 # Get build version from pkgversion
 if [[ -f pkgversion ]] ; then
     source ./pkgversion
 else
-    fatal_error "${SOURCE_DIR}/packages/pkgversion not found.  Cannot continue."
+    fatal_error "${PKG_SOURCE_DIR}/pkgversion not found.  Cannot continue."
 fi
 
 if [[ -z "${VERSION}" ]] ; then
-    fatal_error "VERSION not set in ${SOURCE_DIR}/packages/pkgversion - run newPkRev"
+    fatal_error "VERSION not set in ${PKG_SOURCE_DIR}/pkgversion - run newPkRev"
 fi
 
 if [[ -z "${BUILD}" ]] ; then
-    fatal_error "BUILD not set in ${SOURCE_DIR}/packages/pkgversion - run newPkRev"
+    fatal_error "BUILD not set in ${PKG_SOURCE_DIR}/pkgversion - run newPkRev"
 fi
 
 DECIMAL_BUILD=$(( ${BUILD} / 100.0 ))
@@ -207,7 +239,17 @@
 
     sed -e '/ARCH/s/ISA/'${MACH}'/' -e 's/SUNW_PRODVERS=.*$/SUNW_PRODVERS='${VERSION}/ -e 's/VERSION=.*$/VERSION='${VERSION}.${BUILD},REV=${DATE}/ pkginfo.tmpl > pkginfo
     if [[ -f Makefile ]] ; then
-	print_and_run /usr/ccs/bin/make SOURCEDIR=${SOURCE_DIR}/packages all
+	print_and_run /usr/ccs/bin/make SOURCEDIR=${PKG_SOURCE_DIR} all
+    else
+	for pf in preinstall preremove postinstall postremove ; do
+	    # If filename.tmpl exists, but filename does not, 
+	    # build filename from the .tmpl
+	    if [[ -f "${pf}.tmpl" && ! -f "${pf}" ]] ; then
+		SOURCEDIR=${PKG_SOURCE_DIR} \
+		    nawk -f ${PKG_SOURCE_DIR}/awk_procedure \
+		    ${pf}.tmpl > ${pf}
+	    fi
+	done
     fi
 
     if [[ -f prototype ]] ; then
@@ -234,13 +276,17 @@
 print -n "Packages failed: "
 grep -c "Packaging was not successful" ${PACKAGE_DIR}/$LOGfile
 
-# Create an installdir with symlinks to SUNW* pkgs
+# Create an installdir with symlinks to built packages
 cd ${PACKAGE_DIR}
 mkdir installdir
 cd installdir
-ln -s ../SUNW*/SUNW* .
-if [[ -f ${SOURCE_DIR}/packages/upgrade-X ]] ; then
-    cp -p ${SOURCE_DIR}/packages/upgrade-X .
+for package in ${PACKAGE_LIST} ; do
+    if [[ -d ../${package}/${package} ]] ; then
+	ln -s ../${package}/${package} .
+    fi
+done
+if [[ -f ${PKG_SOURCE_DIR}/upgrade-X ]] ; then
+    cp -p ${PKG_SOURCE_DIR}/upgrade-X .
     chmod a+x upgrade-X
 fi