Home | History | Annotate | Download | only in scripts
      1 #!/bin/ksh -e
      2 #
      3 # CDDL HEADER START
      4 #
      5 # The contents of this file are subject to the terms of the
      6 # Common Development and Distribution License (the "License").
      7 # You may not use this file except in compliance with the License.
      8 #
      9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
     10 # or http://www.opensolaris.org/os/licensing.
     11 # See the License for the specific language governing permissions
     12 # and limitations under the License.
     13 #
     14 # When distributing Covered Code, include this CDDL HEADER in each
     15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     16 # If applicable, add the following below this CDDL HEADER, with the
     17 # fields enclosed by brackets "[]" replaced with your own identifying
     18 # information: Portions Copyright [yyyy] [name of copyright owner]
     19 #
     20 # CDDL HEADER END
     21 #
     22 #
     23 # Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
     24 # Use is subject to license terms.
     25 # 
     26 #ident	"%Z%%M%	%I%	%E% SMI"
     27 #
     28 MACH=`uname -p`
     29 PLIST=/tmp/protolist.$$
     30 
     31 usage() {
     32 	echo "usage: $0 <workspace>"
     33 	exit 1
     34 }
     35 
     36 OPTIND=1
     37 while getopts X flag
     38 do
     39 	case $flag in
     40 	*)	usage
     41 		;;
     42 	esac
     43 done
     44 
     45 shift `expr $OPTIND - 1`
     46 
     47 if [ $# = 0 -a "${CODEMGR_WS}" != "" ]; then
     48 	WS=${CODEMGR_WS}
     49 elif [ $# -ne 1 ]; then
     50 	usage
     51 else
     52 	WS=$1
     53 fi
     54 
     55 
     56 GUFLAG="-gu"
     57 if [ "${NIGHTLY_OPTIONS%o*}" != "$NIGHTLY_OPTIONS" ]; then
     58 	GUFLAG=
     59 fi
     60 
     61 if [ ! -d ${WS} ]; then
     62 	echo "${WS} is not a workspace"
     63 	exit 1
     64 fi
     65 
     66 if [ -z "${SRC}" ]; then
     67 	SRC=${WS}/usr/src
     68 fi
     69 
     70 PROTO=${WS}/proto/root_${MACH}
     71 
     72 rm -f $PLIST
     73 
     74 pkglocns="${SRC}/pkgdefs"
     75 [ -d ${SRC}/../closed/pkgdefs ] && pkglocns="$pkglocns ${SRC}/../closed/pkgdefs"
     76 
     77 exceptions=""
     78 pkgdefs=""
     79 for p in $pkglocns; do
     80 	efile="$p/etc/exception_list_${MACH}"
     81 	[ -f $efile ] && exceptions="$exceptions -e $efile"
     82 	pkgdefs="$pkgdefs -d $p"
     83 done
     84 
     85 protolist ${PROTO} > $PLIST
     86 protocmp ${GUFLAG} $exceptions $pkgdefs ${PLIST}
     87 
     88 rm -f $PLIST
     89