Home | History | Annotate | Download | only in env
      1 #
      2 # CDDL HEADER START
      3 #
      4 # The contents of this file are subject to the terms of the
      5 # Common Development and Distribution License (the "License").
      6 # You may not use this file except in compliance with the License.
      7 #
      8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9 # or http://www.opensolaris.org/os/licensing.
     10 # See the License for the specific language governing permissions
     11 # and limitations under the License.
     12 #
     13 # When distributing Covered Code, include this CDDL HEADER in each
     14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15 # If applicable, add the following below this CDDL HEADER, with the
     16 # fields enclosed by brackets "[]" replaced with your own identifying
     17 # information: Portions Copyright [yyyy] [name of copyright owner]
     18 #
     19 # CDDL HEADER END
     20 #
     21 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
     22 # Use is subject to license terms.
     23 #
     24 # ident	"@(#)sfw-opensolaris.sh	1.4	08/09/10 SMI"
     25 #
     26 #	Configuration variables for the runtime environment of the nightly
     27 # build script and other tools for construction and packaging of releases.
     28 # This script is sourced by 'nightly' and 'bldenv' to set up the environment
     29 # for the build. This example is suitable for building a developers workspace,
     30 # which will contain the resulting packages and archives. It is based off
     31 # the on81 release. It sets NIGHTLY_OPTIONS to make nightly do:
     32 #	non-DEBUG builds (default)
     33 #	packages (-p)
     34 #	check ELF runpaths in the proto area (-r)
     35 #	sends mail on completion (-m and the MAILTO variable)
     36 #	disable warning reporting (-W)
     37 #
     38 NIGHTLY_OPTIONS="-dmnpW";		export NIGHTLY_OPTIONS
     39 
     40 # This is a variable for the rest of the script - GATE doesn't matter to
     41 # nightly itself
     42 GATE=sfwnv;			export GATE
     43 
     44 # CODEMGR_WS - where is your workspace at (or what should nightly name it)
     45 CODEMGR_WS="/export/$GATE";		export CODEMGR_WS
     46 
     47 # PARENT_WS is used to determine the parent of this workspace. This is
     48 # for the options that deal with the parent workspace.
     49 PARENT_WS="";             export PARENT_WS
     50 
     51 # CLONE_WS is the workspace nightly should do a bringover from. Since it's
     52 # going to bringover usr/src, this could take a while, so we use the
     53 # clone instead of the gate (see the gate's README).
     54 CLONE_WS="";		 export CLONE_WS
     55 
     56 # Maximum number of dmake jobs.  The recommended number is 2 + (2 *
     57 # NCPUS), where NCPUS is the number of CPUs on your build system.
     58 maxjobs() {
     59         ncpu=`/usr/sbin/psrinfo -p`
     60         expr $ncpu \* 2 + 2
     61 }
     62 DMAKE_MAX_JOBS=`maxjobs`;                       export DMAKE_MAX_JOBS
     63 
     64 BUILD_TOOLS=/opt; export BUILD_TOOLS
     65 SPRO_VROOT=/opt/SUNWspro; export SPRO_VROOT
     66 AMD64_ROOT=/opt/SUNWspro; export AMD64_ROOT
     67 
     68 # The bringover, if any, is done as STAFFER.
     69 # Set STAFFER to your own login as gatekeeper or developer
     70 # The point is to use group "staff" and avoid referencing the parent
     71 # workspace as root.
     72 # Some scripts optionally send mail messages to MAILTO.
     73 #
     74 STAFFER=nobody;			export STAFFER
     75 MAILTO=$STAFFER;			export MAILTO 
     76 
     77 # You should not need to change the next four lines
     78 LOCKNAME="`basename $CODEMGR_WS`_nightly.lock"; export LOCKNAME
     79 ATLOG="$CODEMGR_WS/log";		export ATLOG
     80 LOGFILE="$ATLOG/nightly.log";           export LOGFILE
     81 MACH=`uname -p`;			export MACH
     82 
     83 # REF_PROTO_LIST - for comparing the list of stuff in your proto area
     84 # with. Generally this should be left alone, since you want to see differences
     85 # from your parent (the gate).
     86 #
     87 REF_PROTO_LIST=$PARENT_WS/usr/src/proto_list_${MACH}; export REF_PROTO_LIST
     88 
     89 #	build environment variables, including version info for mcs, motd,
     90 # motd, uname and boot messages. Mostly you shouldn't change this except
     91 # when the release slips (nah) or you move an environment file to a new
     92 # release
     93 #
     94 ROOT="$CODEMGR_WS/proto/root_${MACH}";	export ROOT
     95 SRC="$CODEMGR_WS/usr/src";         	export SRC
     96 
     97 #
     98 # the RELEASE and RELEASE_DATE variables are set in Makefile.master;
     99 # there might be special reasons to override them here, but that
    100 # should not be the case in general
    101 #
    102 # RELEASE="5.11";			export RELEASE
    103 # RELEASE_DATE="October 2007";		export RELEASE_DATE
    104 
    105 # proto area in parent for optionally depositing a copy of headers and
    106 # libraries corresponding to the protolibs target
    107 # not applicable given the NIGHTLY_OPTIONS
    108 #
    109 PARENT_ROOT=$PARENT_WS/proto/root_$MACH; export PARENT_ROOT
    110 
    111 #
    112 #       package creation variable. you probably shouldn't change this either.
    113 #
    114 PKGARCHIVE="${CODEMGR_WS}/packages/${MACH}/nightly";	export PKGARCHIVE
    115 
    116 # we want make to do as much as it can, just in case there's more than
    117 # one problem.
    118 MAKEFLAGS=k;	export MAKEFLAGS
    119 
    120 # Magic variables to prevent the devpro compilers/teamware from sending
    121 # mail back to devpro on every use.
    122 UT_NO_USAGE_TRACKING="1"; export UT_NO_USAGE_TRACKING
    123 SUNW_NO_UPDATE_NOTIFY=""; export SUNW_NO_UPDATE_NOTIFY
    124 
    125 # BRINGOVER_FILES is the list of files nightly passes to bringover.
    126 # If not set the default is "usr", but it can be used for bringing
    127 # over deleted_files or other nifty directories.
    128 #BRINGOVER_FILES="usr deleted_files"
    129 
    130 # SFW_RUN_CHECK_DEPS controls whether to check package dependencies
    131 # after they are built. The default is not to, set it to nothing
    132 # to enable it. Problems appear in the package build section of
    133 # the mail message and nightly log.
    134 #SFW_RUN_CHECK_DEPS=; export SFW_RUN_CHECK_DEPS
    135 
    136 # When checking dependencies check-deps needs to look at all the
    137 # other packages. It can look at the build machine but that's likely
    138 # not right so we don't do that, you need to set the SFW_PKGDB variable
    139 # to point to that set of packages. At Sun you'd want to point to
    140 # a netinstall image which is different for the current architectures.
    141 #if [ "${MACH}" = "sparc" ]; then
    142 #       SFW_PKGDB=/net/netinstall/export/nv/s/latest/Solaris_11/Product
    143 #else
    144 #       SFW_PKGDB=/net/netinstall/export/nv/x/latest/Solaris_11/Product
    145 #fi
    146 #export SFW_PKGDB
    147