Print this page
4030 remove useless nightly/bldenv options
Reviewed by: Andy Stormont <andyjstormont@gmail.com>

*** 228,357 **** rm -f ${i}.export mv ${i} ${i}.export done } - # - # Copy some or all of the source tree. - # - # Returns 0 for success, non-zero for failure. - # - # usage: copy_source CODEMGR_WS DESTDIR LABEL SRCROOT - # - function copy_source { - WS=$1 - DEST=$2 - label=$3 - srcroot=$4 - - printf "\n==== Creating %s source from %s (%s) ====\n\n" \ - "$DEST" "$WS" "$label" | tee -a $mail_msg_file >> $LOGFILE - - printf "cleaning out %s\n" "$DEST." >> $LOGFILE - rm -rf "$DEST" >> $LOGFILE 2>&1 - - printf "creating %s\n" "$DEST." >> $LOGFILE - mkdir -p "$DEST" 2>> $LOGFILE - - if (( $? != 0 )) ; then - printf "failed to create %s\n" "$DEST" | - tee -a $mail_msg_file >> $LOGFILE - build_ok=n - return 1 - fi - cd "$WS" - - printf "populating %s\n" "$DEST." >> $LOGFILE - - case "$SCM_TYPE" in - teamware) - find $srcroot -name 's\.*' -a -type f -print | \ - sed -e 's,SCCS\/s.,,' | \ - grep -v '/\.del-*' | \ - cpio -pd $DEST >>$LOGFILE 2>&1 - if (( $? != 0 )) ; then - printf "cpio failed for %s\n" "$DEST" | - tee -a $mail_msg_file >> $LOGFILE - build_ok=n - return 1 - fi - ;; - mercurial) - copy_source_mercurial $DEST $srcroot - if (( $? != 0 )) ; then - build_ok=n - return 1 - fi - ;; - *) - build_ok=n - echo "Tree copy is not supported for workspace type" \ - "$SCM_TYPE" | tee -a $mail_msg_file >> $LOGFILE - return 1 - ;; - esac - - return 0 - } - - # - # Mercurial-specific copy code for copy_source(). - # - # Returns 0 for success, non-zero for failure. - # - # usage: copy_source_mercurial destdir srcroot - # - function copy_source_mercurial { - typeset dest=$1 - typeset srcroot=$2 - - hg locate -I "$srcroot" | cpio -pd "$dest" >>$LOGFILE 2>&1 - if (( $? != 0 )) ; then - printf "cpio failed for %s\n" "$dest" | - tee -a $mail_msg_file >> $LOGFILE - return 1 - fi - - return 0 - } - - # - # function to create (but not build) the export/crypt source tree. - # usage: set_up_source_build CODEMGR_WS DESTDIR MAKE_TARGET - # Sets SRC to the modified source tree, for use by the caller when it - # builds the tree. - # - function set_up_source_build { - WS=$1 - DEST=$2 - MAKETARG=$3 - - copy_source $WS $DEST $MAKETARG usr - if (( $? != 0 )); then - echo "\nCould not copy source tree for source build." | - tee -a $mail_msg_file >> $LOGFILE - build_ok=n - return - fi - - SRC=${DEST}/usr/src - - cd $SRC - rm -f ${MAKETARG}.out - echo "making ${MAKETARG} in ${SRC}." >> $LOGFILE - /bin/time $MAKE -e ${MAKETARG} 2>&1 | \ - tee -a $SRC/${MAKETARG}.out >> $LOGFILE - echo "\n==== ${MAKETARG} build errors ====\n" >> $mail_msg_file - egrep ":" $SRC/${MAKETARG}.out | \ - egrep -e "(^${MAKE}:|[ ]error[: \n])" | \ - egrep -v "Ignoring unknown host" | \ - egrep -v "warning" >> $mail_msg_file - - echo "clearing state files." >> $LOGFILE - find . -name '.make*' -exec rm -f {} \; - } - # Return library search directive as function of given root. function myldlibs { echo "-L$1/lib -L$1/usr/lib" } --- 228,237 ----
*** 380,394 **** PKGARCHIVE=${PKGARCHIVE_ORIG}${SUFFIX} ORIGROOT=$ROOT [ $MULTIPROTO = no ] || export ROOT=$ROOT$SUFFIX - if [[ "$O_FLAG" = y ]]; then - echo "\nSetting CLOSEDROOT= ${ROOT}-closed\n" >> $LOGFILE - export CLOSEDROOT=${ROOT}-closed - fi - export ENVLDLIBS1=`myldlibs $ROOT` export ENVCPPFLAGS1=`myheaders $ROOT` this_build_ok=y # --- 260,269 ----
*** 907,928 **** if [ "$TEAMWARE" = "" ]; then TEAMWARE=$OPTHOME/teamware export TEAMWARE fi ! USAGE='Usage: nightly [-in] [+t] [-V VERS ] [ -S E|D|H|O ] <env_file> Where: -i Fast incremental options (no clobber, lint, check) -n Do not do a bringover +t Use the build tools in $ONBLD_TOOLS/bin -V VERS set the build version string to VERS - -S Build a variant of the source product - E - build exportable source - D - build domestic source (exportable + crypt) - H - build hybrid source (binaries + deleted source) - O - build (only) open source <env_file> file in Bourne shell syntax that sets and exports variables that configure the operation of this script and many of the scripts this one calls. If <env_file> does not exist, it will be looked for in $OPTHOME/onbld/env. --- 782,798 ---- if [ "$TEAMWARE" = "" ]; then TEAMWARE=$OPTHOME/teamware export TEAMWARE fi ! USAGE='Usage: nightly [-in] [+t] [-V VERS ] <env_file> Where: -i Fast incremental options (no clobber, lint, check) -n Do not do a bringover +t Use the build tools in $ONBLD_TOOLS/bin -V VERS set the build version string to VERS <env_file> file in Bourne shell syntax that sets and exports variables that configure the operation of this script and many of the scripts this one calls. If <env_file> does not exist, it will be looked for in $OPTHOME/onbld/env.
*** 936,946 **** -F do _not_ do a non-DEBUG build -G gate keeper default group of options (-au) -I integration engineer default group of options (-ampu) -M do not run pmodes (safe file permission checker) -N do not run protocmp - -O generate OpenSolaris deliverables -R default group of options for building a release (-mp) -U update proto area in the parent -V VERS set the build version string to VERS -X copy x86 IHV proto area -f find unreferenced files --- 806,815 ----
*** 956,970 **** -u update proto_list_$MACH and friends in the parent workspace; when used with -f, also build an unrefmaster.out in the parent -w report on differences between previous and current proto areas -z compress cpio archives with gzip -W Do not report warnings (freeware gate ONLY) - -S Build a variant of the source product - E - build exportable source - D - build domestic source (exportable + crypt) - H - build hybrid source (binaries + deleted source) - O - build (only) open source ' # # A log file will be generated under the name $LOGFILE # for partially completed build and log.`date '+%F'` # in the same directory for fully completed builds. --- 825,834 ----
*** 980,990 **** l_FLAG=n M_FLAG=n m_FLAG=n N_FLAG=n n_FLAG=n - O_FLAG=n o_FLAG=n P_FLAG=n p_FLAG=n r_FLAG=n T_FLAG=n --- 844,853 ----
*** 993,1056 **** u_FLAG=n V_FLAG=n W_FLAG=n w_FLAG=n X_FLAG=n - SD_FLAG=n - SE_FLAG=n - SH_FLAG=n - SO_FLAG=n # XMOD_OPT= # build_ok=y - function is_source_build { - [ "$SE_FLAG" = "y" -o "$SD_FLAG" = "y" -o \ - "$SH_FLAG" = "y" -o "$SO_FLAG" = "y" ] - return $? - } - # # examine arguments # - # - # single function for setting -S flag and doing error checking. - # usage: set_S_flag <type> - # where <type> is the source build type ("E", "D", ...). - # - function set_S_flag { - if is_source_build; then - echo "Can only build one source variant at a time." - exit 1 - fi - if [ "$1" = "E" ]; then - SE_FLAG=y - elif [ "$1" = "D" ]; then - SD_FLAG=y - elif [ "$1" = "H" ]; then - SH_FLAG=y - elif [ "$1" = "O" ]; then - SO_FLAG=y - else - echo "$USAGE" - exit 1 - fi - } - OPTIND=1 ! while getopts +inS:tV: FLAG do case $FLAG in i ) i_FLAG=y; i_CMD_LINE_FLAG=y ;; n ) n_FLAG=y ;; - S ) - set_S_flag $OPTARG - ;; +t ) t_FLAG=n ;; V ) V_FLAG=y V_ARG="$OPTARG" ;; --- 856,882 ---- u_FLAG=n V_FLAG=n W_FLAG=n w_FLAG=n X_FLAG=n # XMOD_OPT= # build_ok=y # # examine arguments # OPTIND=1 ! while getopts +intV: FLAG do case $FLAG in i ) i_FLAG=y; i_CMD_LINE_FLAG=y ;; n ) n_FLAG=y ;; +t ) t_FLAG=n ;; V ) V_FLAG=y V_ARG="$OPTARG" ;;
*** 1205,1215 **** # Note: changes to the option letters here should also be applied to the # bldenv script. `d' is listed for backward compatibility. # NIGHTLY_OPTIONS=-${NIGHTLY_OPTIONS#-} OPTIND=1 ! while getopts +ABCDdFfGIilMmNnOoPpRrS:TtUuWwXxz FLAG $NIGHTLY_OPTIONS do case $FLAG in A ) A_FLAG=y ;; B ) D_FLAG=y --- 1031,1041 ---- # Note: changes to the option letters here should also be applied to the # bldenv script. `d' is listed for backward compatibility. # NIGHTLY_OPTIONS=-${NIGHTLY_OPTIONS#-} OPTIND=1 ! while getopts +ABCDdFfGIilMmNnoPpRrTtUuWwXxz FLAG $NIGHTLY_OPTIONS do case $FLAG in A ) A_FLAG=y ;; B ) D_FLAG=y
*** 1238,1249 **** ;; N ) N_FLAG=y ;; n ) n_FLAG=y ;; - O ) O_FLAG=y - ;; o ) o_FLAG=y ;; P ) P_FLAG=y ;; # obsolete p ) p_FLAG=y --- 1064,1073 ----
*** 1251,1263 **** R ) m_FLAG=y p_FLAG=y ;; r ) r_FLAG=y ;; - S ) - set_S_flag $OPTARG - ;; T ) T_FLAG=y ;; # obsolete +t ) t_FLAG=n ;; U ) if [ -z "${PARENT_ROOT}" ]; then --- 1075,1084 ----
*** 1445,1471 **** echo "$IA32_IHV_WS: not found" args_ok=n fi fi - # Append source version - if [ "$SE_FLAG" = "y" ]; then - VERSION="${VERSION}:EXPORT" - fi - - if [ "$SD_FLAG" = "y" ]; then - VERSION="${VERSION}:DOMESTIC" - fi - - if [ "$SH_FLAG" = "y" ]; then - VERSION="${VERSION}:MODIFIED_SOURCE_PRODUCT" - fi - - if [ "$SO_FLAG" = "y" ]; then - VERSION="${VERSION}:OPEN_ONLY" - fi - TMPDIR="/tmp/nightly.tmpdir.$$" export TMPDIR rm -rf ${TMPDIR} mkdir -p $TMPDIR || exit 1 chmod 777 $TMPDIR --- 1266,1275 ----
*** 1697,1711 **** if [[ "$F_FLAG" = n && "$MULTI_PROTO" = yes ]]; then roots="$roots $ROOT-nd" fi - if [[ $O_FLAG = y ]]; then - roots="$roots $ROOT-closed" - [ $MULTI_PROTO = yes ] && roots="$roots $ROOT-nd-closed" - fi - echo $roots } # Ensure no other instance of this script is running on this host. # LOCKNAME can be set in <env_file>, and is by default, but is not --- 1501,1510 ----
*** 1781,1815 **** if [ "$T_FLAG" = "y" ]; then obsolete_build TRACE | tee -a $mail_msg_file >> $LOGFILE fi ! if is_source_build; then ! if [ "$i_FLAG" = "y" -o "$i_CMD_LINE_FLAG" = "y" ]; then ! echo "WARNING: the -S flags do not support incremental" \ ! "builds; forcing clobber\n" | tee -a $mail_msg_file >> $LOGFILE ! i_FLAG=n ! i_CMD_LINE_FLAG=n ! fi ! if [ "$N_FLAG" = "n" ]; then ! echo "WARNING: the -S flags do not support protocmp;" \ ! "protocmp disabled\n" | \ ! tee -a $mail_msg_file >> $LOGFILE ! N_FLAG=y ! fi ! if [ "$l_FLAG" = "y" ]; then ! echo "WARNING: the -S flags do not support lint;" \ ! "lint disabled\n" | tee -a $mail_msg_file >> $LOGFILE ! l_FLAG=n ! fi ! if [ "$C_FLAG" = "y" ]; then ! echo "WARNING: the -S flags do not support cstyle;" \ ! "cstyle check disabled\n" | tee -a $mail_msg_file >> $LOGFILE ! C_FLAG=n ! fi ! else ! if [ "$N_FLAG" = "y" ]; then if [ "$p_FLAG" = "y" ]; then cat <<EOF | tee -a $mail_msg_file >> $LOGFILE WARNING: the p option (create packages) is set, but so is the N option (do not run protocmp); this is dangerous; you should unset the N option EOF --- 1580,1590 ---- if [ "$T_FLAG" = "y" ]; then obsolete_build TRACE | tee -a $mail_msg_file >> $LOGFILE fi ! if [ "$N_FLAG" = "y" ]; then if [ "$p_FLAG" = "y" ]; then cat <<EOF | tee -a $mail_msg_file >> $LOGFILE WARNING: the p option (create packages) is set, but so is the N option (do not run protocmp); this is dangerous; you should unset the N option EOF
*** 1817,1827 **** cat <<EOF | tee -a $mail_msg_file >> $LOGFILE Warning: the N option (do not run protocmp) is set; it probably shouldn't be EOF fi echo "" | tee -a $mail_msg_file >> $LOGFILE - fi fi if [ "$D_FLAG" = "n" -a "$l_FLAG" = "y" ]; then # # In the past we just complained but went ahead with the lint --- 1592,1601 ----
*** 1873,1884 **** "the -t flag; ignoring VERIFY_ELFSIGN\n" | \ tee -a $mail_msg_file >> $LOGFILE fi fi - [ "$O_FLAG" = y ] && MULTI_PROTO=yes - case $MULTI_PROTO in yes|no) ;; *) echo "WARNING: MULTI_PROTO is \"$MULTI_PROTO\"; " \ "should be \"yes\" or \"no\"." | tee -a $mail_msg_file >> $LOGFILE --- 1647,1656 ----
*** 1990,2000 **** echo "\n==== Make clobber ERRORS ====\n" >> $mail_msg_file grep "$MAKE:" $SRC/clobber-${MACH}.out | egrep -v "Ignoring unknown host" \ >> $mail_msg_file ! if [[ "$t_FLAG" = "y" || "$O_FLAG" = "y" ]]; then echo "\n==== Make tools clobber at `date` ====\n" >> $LOGFILE cd ${TOOLS} rm -f ${TOOLS}/clobber-${MACH}.out $MAKE TOOLS_PROTO=$TOOLS_PROTO -ek clobber 2>&1 | \ tee -a ${TOOLS}/clobber-${MACH}.out >> $LOGFILE --- 1762,1772 ---- echo "\n==== Make clobber ERRORS ====\n" >> $mail_msg_file grep "$MAKE:" $SRC/clobber-${MACH}.out | egrep -v "Ignoring unknown host" \ >> $mail_msg_file ! if [[ "$t_FLAG" = "y" ]]; then echo "\n==== Make tools clobber at `date` ====\n" >> $LOGFILE cd ${TOOLS} rm -f ${TOOLS}/clobber-${MACH}.out $MAKE TOOLS_PROTO=$TOOLS_PROTO -ek clobber 2>&1 | \ tee -a ${TOOLS}/clobber-${MACH}.out >> $LOGFILE
*** 2257,2273 **** else echo "\n==== No bringover to $CODEMGR_WS ====\n" >> $LOGFILE fi - if [[ "$O_FLAG" = y ]]; then - build_ok=n - echo "OpenSolaris binary deliverables need usr/closed." \ - | tee -a "$mail_msg_file" >> $LOGFILE - exit 1 - fi - # Safeguards [[ -v CODEMGR_WS ]] || fatal_error "Error: Variable CODEMGR_WS not set." [[ -d "${CODEMGR_WS}" ]] || fatal_error "Error: ${CODEMGR_WS} is not a directory." [[ -f "${CODEMGR_WS}/usr/src/Makefile" ]] || fatal_error "Error: ${CODEMGR_WS}/usr/src/Makefile not found." --- 2029,2038 ----
*** 2338,2348 **** fi # # Build and use the workspace's tools if requested # ! if [[ "$t_FLAG" = "y" || "$O_FLAG" = y ]]; then set_non_debug_build_flags build_tools ${TOOLS_PROTO} if [[ $? != 0 && "$t_FLAG" = y ]]; then use_tools $TOOLS_PROTO --- 2103,2113 ---- fi # # Build and use the workspace's tools if requested # ! if [[ "$t_FLAG" = "y" ]]; then set_non_debug_build_flags build_tools ${TOOLS_PROTO} if [[ $? != 0 && "$t_FLAG" = y ]]; then use_tools $TOOLS_PROTO
*** 2354,2468 **** # if [ "$X_FLAG" = "y" ]; then copy_ihv_proto fi ! if [ "$i_FLAG" = "y" -a "$SH_FLAG" = "y" ]; then ! echo "\n==== NOT Building base OS-Net source ====\n" | \ ! tee -a $LOGFILE >> $mail_msg_file ! else ! # timestamp the start of the normal build; the findunref tool uses it. ! touch $SRC/.build.tstamp ! ! normal_build ! fi ! ! # ! # Generate the THIRDPARTYLICENSE files if needed. This is done after ! # the build, so that dynamically-created license files are there. ! # It's done before findunref to help identify license files that need ! # to be added to tools/opensolaris/license-list. ! # ! if [ "$O_FLAG" = y -a "$build_ok" = y ]; then ! echo "\n==== Generating THIRDPARTYLICENSE files ====\n" | ! tee -a "$mail_msg_file" >> "$LOGFILE" ! if [ -d $ROOT/licenses/usr ]; then ! ( cd $ROOT/licenses ; \ ! mktpl $SRC/pkg/license-list ) >> "$LOGFILE" 2>&1 ! if (( $? != 0 )) ; then ! echo "Couldn't create THIRDPARTYLICENSE files" | ! tee -a "$mail_msg_file" >> "$LOGFILE" ! fi ! else ! echo "No licenses found under $ROOT/licenses" | ! tee -a "$mail_msg_file" >> "$LOGFILE" ! fi ! fi ORIG_SRC=$SRC BINARCHIVE=${CODEMGR_WS}/bin-${MACH}.cpio.Z - if [ "$SE_FLAG" = "y" -o "$SD_FLAG" = "y" -o "$SH_FLAG" = "y" ]; then - save_binaries - fi - - - # EXPORT_SRC comes after CRYPT_SRC since a domestic build will need - # $SRC pointing to the export_source usr/src. - - if [ "$SE_FLAG" = "y" -o "$SD_FLAG" = "y" -o "$SH_FLAG" = "y" ]; then - if [ "$SD_FLAG" = "y" -a $build_ok = y ]; then - set_up_source_build ${CODEMGR_WS} ${CRYPT_SRC} CRYPT_SRC - fi - - if [ $build_ok = y ]; then - set_up_source_build ${CODEMGR_WS} ${EXPORT_SRC} EXPORT_SRC - fi - fi - - if [ "$SD_FLAG" = "y" -a $build_ok = y ]; then - # drop the crypt files in place. - cd ${EXPORT_SRC} - echo "\nextracting crypt_files.cpio.Z onto export_source.\n" \ - >> ${LOGFILE} - zcat ${CODEMGR_WS}/crypt_files.cpio.Z | \ - cpio -idmucvB 2>/dev/null >> ${LOGFILE} - if [ "$?" = "0" ]; then - echo "\n==== DOMESTIC extraction succeeded ====\n" \ - >> $mail_msg_file - else - echo "\n==== DOMESTIC extraction failed ====\n" \ - >> $mail_msg_file - fi - - fi - - if [ "$SO_FLAG" = "y" -a "$build_ok" = y ]; then - # - # Copy the open sources into their own tree. - # If copy_source fails, it will have already generated an - # error message and set build_ok=n, so we don't need to worry - # about that here. - # - copy_source $CODEMGR_WS $OPEN_SRCDIR OPEN_SOURCE usr/src - fi - - if [ "$SO_FLAG" = "y" -a "$build_ok" = y ]; then - SRC=$OPEN_SRCDIR/usr/src - fi - - if is_source_build && [ $build_ok = y ] ; then - # remove proto area(s) here, since we don't clobber - rm -rf `allprotos` - if [ "$t_FLAG" = "y" ]; then - set_non_debug_build_flags - ORIG_TOOLS=$TOOLS - # - # SRC was set earlier to point to the source build - # source tree (e.g., $EXPORT_SRC). - # - TOOLS=${SRC}/tools - TOOLS_PROTO=${TOOLS}/${TOOLS_PROTO_REL}; export TOOLS_PROTO - build_tools ${TOOLS_PROTO} - if [[ $? != 0 ]]; then - use_tools ${TOOLS_PROTO} - fi - fi - - normal_build - fi # # There are several checks that need to look at the proto area, but # they only need to look at one, and they don't care whether it's # DEBUG or non-DEBUG. --- 2119,2136 ---- # if [ "$X_FLAG" = "y" ]; then copy_ihv_proto fi ! # timestamp the start of the normal build; the findunref tool uses it. ! touch $SRC/.build.tstamp ! normal_build ORIG_SRC=$SRC BINARCHIVE=${CODEMGR_WS}/bin-${MACH}.cpio.Z # # There are several checks that need to look at the proto area, but # they only need to look at one, and they don't care whether it's # DEBUG or non-DEBUG.
*** 2834,2890 **** # # Generate the OpenSolaris deliverables if requested. Some of these # steps need to come after findunref and are commented below. # - # If we are doing an OpenSolaris _source_ build (-S O) then we do - # not have usr/closed available to us to generate closedbins from, - # so skip this part. - if [ "$SO_FLAG" = n -a "$O_FLAG" = y -a "$build_ok" = y ]; then - echo "\n==== Generating OpenSolaris tarballs ====\n" | \ - tee -a $mail_msg_file >> $LOGFILE - - cd $CODEMGR_WS - - # - # This step grovels through the package manifests, so it - # must come after findunref. - # - # We assume no DEBUG vs non-DEBUG package content variation - # here; if that changes, then the "make all" in $SRC/pkg will - # need to be moved into the conditionals and repeated for each - # different build. - # - echo "Generating closed binaries tarball(s)..." >> $LOGFILE - closed_basename=on-closed-bins - if [ "$D_FLAG" = y ]; then - bindrop "$closed_basename" >>"$LOGFILE" 2>&1 - if (( $? != 0 )) ; then - echo "Couldn't create DEBUG closed binaries." | - tee -a $mail_msg_file >> $LOGFILE - build_ok=n - fi - fi - if [ "$F_FLAG" = n ]; then - bindrop -n "$closed_basename-nd" >>"$LOGFILE" 2>&1 - if (( $? != 0 )) ; then - echo "Couldn't create non-DEBUG closed binaries." | - tee -a $mail_msg_file >> $LOGFILE - build_ok=n - fi - fi - - echo "Generating README.opensolaris..." >> $LOGFILE - cat $SRC/tools/opensolaris/README.opensolaris.tmpl | \ - mkreadme_osol $CODEMGR_WS/README.opensolaris >> $LOGFILE 2>&1 - if (( $? != 0 )) ; then - echo "Couldn't create README.opensolaris." | - tee -a $mail_msg_file >> $LOGFILE - build_ok=n - fi - fi - # Verify that the usual lists of files, such as exception lists, # contain only valid references to files. If the build has failed, # then don't check the proto area. CHECK_PATHS=${CHECK_PATHS:-y} if [ "$CHECK_PATHS" = y -a "$N_FLAG" != y ]; then --- 2502,2511 ----