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