Print this page
4526 nightly contains a great deal of effectively dead code
*** 44,55 ****
# Where flag is: y - enable lint noise diff output
# n - disable lint noise diff output
#
# For example: LINTDIRS="$SRC/uts n $SRC/stand y $SRC/psm y"
#
! # OPTHOME and TEAMWARE may be set in the environment to override /opt
! # and /opt/teamware defaults.
#
#
# The CDPATH variable causes ksh's `cd' builtin to emit messages to stdout
# under certain circumstances, which can really screw things up; unset it.
--- 44,54 ----
# Where flag is: y - enable lint noise diff output
# n - disable lint noise diff output
#
# For example: LINTDIRS="$SRC/uts n $SRC/stand y $SRC/psm y"
#
! # OPTHOME may be set in the environment to override /opt
#
#
# The CDPATH variable causes ksh's `cd' builtin to emit messages to stdout
# under certain circumstances, which can really screw things up; unset it.
*** 95,108 ****
if [ "$F_FLAG" = "n" ]; then
set_non_debug_build_flags
CODESIGN_USER="$crypto_signer" \
build "non-DEBUG" "$suffix-nd" "-nd" "$MULTI_PROTO"
- if [ "$build_ok" = "y" -a "$X_FLAG" = "y" -a \
- "$p_FLAG" = "y" ]; then
- copy_ihv_pkgs non-DEBUG -nd
- fi
else
echo "\n==== No non-DEBUG $open_only build ====\n" >> "$LOGFILE"
fi
# non-DEBUG build ends
--- 94,103 ----
*** 111,124 ****
if [ "$D_FLAG" = "y" ]; then
set_debug_build_flags
CODESIGN_USER="$crypto_signer" \
build "DEBUG" "$suffix" "" "$MULTI_PROTO"
- if [ "$build_ok" = "y" -a "$X_FLAG" = "y" -a \
- "$p_FLAG" = "y" ]; then
- copy_ihv_pkgs DEBUG ""
- fi
else
echo "\n==== No DEBUG $open_only build ====\n" >> "$LOGFILE"
fi
# DEBUG build ends
--- 106,115 ----
*** 154,237 ****
exit 1
fi
fi
}
- #
- # usage: filelist DESTDIR PATTERN
- #
- function filelist {
- DEST=$1
- PATTERN=$2
- cd ${DEST}
- }
-
- # function to save off binaries after a full build for later
- # restoration
- function save_binaries {
- # save off list of binaries
- echo "\n==== Saving binaries from build at `date` ====\n" | \
- tee -a $mail_msg_file >> $LOGFILE
- rm -f ${BINARCHIVE}
- cd ${CODEMGR_WS}
- filelist ${CODEMGR_WS} '^preserve:' >> $LOGFILE
- filelist ${CODEMGR_WS} '^preserve:' | \
- cpio -ocB 2>/dev/null | compress \
- > ${BINARCHIVE}
- }
-
- # delete files
- # usage: hybridize_files DESTDIR MAKE_TARGET
- function hybridize_files {
- DEST=$1
- MAKETARG=$2
-
- echo "\n==== Hybridizing files at `date` ====\n" | \
- tee -a $mail_msg_file >> $LOGFILE
- for i in `filelist ${DEST} '^delete:'`
- do
- echo "removing ${i}." | tee -a $mail_msg_file >> $LOGFILE
- rm -rf "${i}"
- done
- for i in `filelist ${DEST} '^hybridize:' `
- do
- echo "hybridizing ${i}." | tee -a $mail_msg_file >> $LOGFILE
- rm -f ${i}+
- sed -e "/^# HYBRID DELETE START/,/^# HYBRID DELETE END/d" \
- < ${i} > ${i}+
- mv ${i}+ ${i}
- done
- }
-
- # restore binaries into the proper source tree.
- # usage: restore_binaries DESTDIR MAKE_TARGET
- function restore_binaries {
- DEST=$1
- MAKETARG=$2
-
- echo "\n==== Restoring binaries to ${MAKETARG} at `date` ====\n" | \
- tee -a $mail_msg_file >> $LOGFILE
- cd ${DEST}
- zcat ${BINARCHIVE} | \
- cpio -idmucvB 2>/dev/null | tee -a $mail_msg_file >> ${LOGFILE}
- }
-
- # rename files we save binaries of
- # usage: rename_files DESTDIR MAKE_TARGET
- function rename_files {
- DEST=$1
- MAKETARG=$2
- echo "\n==== Renaming source files in ${MAKETARG} at `date` ====\n" | \
- tee -a $mail_msg_file >> $LOGFILE
- for i in `filelist ${DEST} '^rename:'`
- do
- echo ${i} | tee -a $mail_msg_file >> ${LOGFILE}
- rm -f ${i}.export
- mv ${i} ${i}.export
- done
- }
-
# Return library search directive as function of given root.
function myldlibs {
echo "-L$1/lib -L$1/usr/lib"
}
--- 145,154 ----
*** 275,290 ****
rm -f $SRC/${INSTALLOG}.out
cd $SRC
/bin/time $MAKE -e install 2>&1 | \
tee -a $SRC/${INSTALLOG}.out >> $LOGFILE
- if [[ "$SCM_TYPE" = teamware ]]; then
- echo "\n==== SCCS Noise ($LABEL) ====\n" >> $mail_msg_file
- egrep 'sccs(check:| *get)' $SRC/${INSTALLOG}.out >> \
- $mail_msg_file
- fi
-
echo "\n==== Build errors ($LABEL) ====\n" >> $mail_msg_file
egrep ":" $SRC/${INSTALLOG}.out |
egrep -e "(^${MAKE}:|[ ]error[: \n])" | \
egrep -v "Ignoring unknown host" | \
egrep -v "cc .* -o error " | \
--- 192,201 ----
*** 298,325 ****
if [ "$?" = "0" ]; then
build_ok=n
this_build_ok=n
fi
- if [ "$W_FLAG" = "n" ]; then
echo "\n==== Build warnings ($LABEL) ====\n" >>$mail_msg_file
egrep -i warning: $SRC/${INSTALLOG}.out \
| egrep -v '^tic:' \
| egrep -v "symbol (\`|')timezone' has differing types:" \
| egrep -v "parameter <PSTAMP> set to" \
| egrep -v "Ignoring unknown host" \
| egrep -v "redefining segment flags attribute for" \
>> $mail_msg_file
- fi
echo "\n==== Ended OS-Net source build at `date` ($LABEL) ====\n" \
>> $LOGFILE
echo "\n==== Elapsed build time ($LABEL) ====\n" >>$mail_msg_file
tail -3 $SRC/${INSTALLOG}.out >>$mail_msg_file
! if [ "$i_FLAG" = "n" -a "$W_FLAG" = "n" ]; then
rm -f $SRC/${NOISE}.ref
if [ -f $SRC/${NOISE}.out ]; then
mv $SRC/${NOISE}.out $SRC/${NOISE}.ref
fi
grep : $SRC/${INSTALLOG}.out \
--- 209,234 ----
if [ "$?" = "0" ]; then
build_ok=n
this_build_ok=n
fi
echo "\n==== Build warnings ($LABEL) ====\n" >>$mail_msg_file
egrep -i warning: $SRC/${INSTALLOG}.out \
| egrep -v '^tic:' \
| egrep -v "symbol (\`|')timezone' has differing types:" \
| egrep -v "parameter <PSTAMP> set to" \
| egrep -v "Ignoring unknown host" \
| egrep -v "redefining segment flags attribute for" \
>> $mail_msg_file
echo "\n==== Ended OS-Net source build at `date` ($LABEL) ====\n" \
>> $LOGFILE
echo "\n==== Elapsed build time ($LABEL) ====\n" >>$mail_msg_file
tail -3 $SRC/${INSTALLOG}.out >>$mail_msg_file
! if [ "$i_FLAG" = "n" ]; then
rm -f $SRC/${NOISE}.ref
if [ -f $SRC/${NOISE}.out ]; then
mv $SRC/${NOISE}.out $SRC/${NOISE}.ref
fi
grep : $SRC/${INSTALLOG}.out \
*** 404,448 ****
#
# Building Packages
#
if [ "$p_FLAG" = "y" -a "$this_build_ok" = "y" ]; then
! if [ -d $SRC/pkg -o -d $SRC/pkgdefs ]; then
echo "\n==== Creating $LABEL packages at `date` ====\n" \
>> $LOGFILE
echo "Clearing out $PKGARCHIVE ..." >> $LOGFILE
rm -rf $PKGARCHIVE >> "$LOGFILE" 2>&1
mkdir -p $PKGARCHIVE >> "$LOGFILE" 2>&1
! for d in pkg pkgdefs; do
! if [ ! -f "$SRC/$d/Makefile" ]; then
! continue
! fi
! rm -f $SRC/$d/${INSTALLOG}.out
! cd $SRC/$d
/bin/time $MAKE -e install 2>&1 | \
! tee -a $SRC/$d/${INSTALLOG}.out >> $LOGFILE
! done
echo "\n==== package build errors ($LABEL) ====\n" \
>> $mail_msg_file
! for d in pkg pkgdefs; do
! if [ ! -f "$SRC/$d/Makefile" ]; then
! continue
! fi
!
! egrep "${MAKE}|ERROR|WARNING" $SRC/$d/${INSTALLOG}.out | \
grep ':' | \
grep -v PSTAMP | \
egrep -v "Ignoring unknown host" \
>> $mail_msg_file
- done
else
#
# Handle it gracefully if -p was set but there are
! # neither pkg nor pkgdefs directories.
#
echo "\n==== No $LABEL packages to build ====\n" \
>> $LOGFILE
fi
else
--- 313,346 ----
#
# Building Packages
#
if [ "$p_FLAG" = "y" -a "$this_build_ok" = "y" ]; then
! if [ -d $SRC/pkg ]; then
echo "\n==== Creating $LABEL packages at `date` ====\n" \
>> $LOGFILE
echo "Clearing out $PKGARCHIVE ..." >> $LOGFILE
rm -rf $PKGARCHIVE >> "$LOGFILE" 2>&1
mkdir -p $PKGARCHIVE >> "$LOGFILE" 2>&1
! rm -f $SRC/pkg/${INSTALLOG}.out
! cd $SRC/pkg
/bin/time $MAKE -e install 2>&1 | \
! tee -a $SRC/pkg/${INSTALLOG}.out >> $LOGFILE
echo "\n==== package build errors ($LABEL) ====\n" \
>> $mail_msg_file
! egrep "${MAKE}|ERROR|WARNING" $SRC/pkg/${INSTALLOG}.out | \
grep ':' | \
grep -v PSTAMP | \
egrep -v "Ignoring unknown host" \
>> $mail_msg_file
else
#
# Handle it gracefully if -p was set but there are
! # neither pkg directories.
#
echo "\n==== No $LABEL packages to build ====\n" \
>> $LOGFILE
fi
else
*** 534,612 ****
diff ${LINTNOISE}.ref ${LINTNOISE}.out \
>> $mail_msg_file
fi
}
- # Install proto area from IHV build
-
- function copy_ihv_proto {
-
- echo "\n==== Installing IHV proto area ====\n" \
- >> $LOGFILE
- if [ -d "$IA32_IHV_ROOT" ]; then
- if [ ! -d "$ROOT" ]; then
- echo "mkdir -p $ROOT" >> $LOGFILE
- mkdir -p $ROOT
- fi
- echo "copying $IA32_IHV_ROOT to $ROOT\n" >> $LOGFILE
- cd $IA32_IHV_ROOT
- tar cf - . | (cd $ROOT; umask 0; tar xpf - ) 2>&1 >> $LOGFILE
- else
- echo "$IA32_IHV_ROOT: not found" >> $LOGFILE
- fi
-
- if [ "$MULTI_PROTO" = yes ]; then
- if [ ! -d "$ROOT-nd" ]; then
- echo "mkdir -p $ROOT-nd" >> $LOGFILE
- mkdir -p $ROOT-nd
- fi
- # If there's a non-DEBUG version of the IHV proto area,
- # copy it, but copy something if there's not.
- if [ -d "$IA32_IHV_ROOT-nd" ]; then
- echo "copying $IA32_IHV_ROOT-nd to $ROOT-nd\n" >> $LOGFILE
- cd $IA32_IHV_ROOT-nd
- elif [ -d "$IA32_IHV_ROOT" ]; then
- echo "copying $IA32_IHV_ROOT to $ROOT-nd\n" >> $LOGFILE
- cd $IA32_IHV_ROOT
- else
- echo "$IA32_IHV_ROOT{-nd,}: not found" >> $LOGFILE
- return
- fi
- tar cf - . | (cd $ROOT-nd; umask 0; tar xpf - ) 2>&1 >> $LOGFILE
- fi
- }
-
- # Install IHV packages in PKGARCHIVE
- # usage: copy_ihv_pkgs LABEL SUFFIX
- function copy_ihv_pkgs {
- LABEL=$1
- SUFFIX=$2
- # always use non-DEBUG IHV packages
- IA32_IHV_PKGS=${IA32_IHV_PKGS_ORIG}-nd
- PKGARCHIVE=${PKGARCHIVE_ORIG}${SUFFIX}
-
- echo "\n==== Installing IHV packages from $IA32_IHV_PKGS ($LABEL) ====\n" \
- >> $LOGFILE
- if [ -d "$IA32_IHV_PKGS" ]; then
- cd $IA32_IHV_PKGS
- tar cf - * | \
- (cd $PKGARCHIVE; umask 0; tar xpf - ) 2>&1 >> $LOGFILE
- else
- echo "$IA32_IHV_PKGS: not found" >> $LOGFILE
- fi
-
- echo "\n==== Installing IHV packages from $IA32_IHV_BINARY_PKGS ($LABEL) ====\n" \
- >> $LOGFILE
- if [ -d "$IA32_IHV_BINARY_PKGS" ]; then
- cd $IA32_IHV_BINARY_PKGS
- tar cf - * | \
- (cd $PKGARCHIVE; umask 0; tar xpf - ) 2>&1 >> $LOGFILE
- else
- echo "$IA32_IHV_BINARY_PKGS: not found" >> $LOGFILE
- fi
- }
-
#
# Build and install the onbld tools.
#
# usage: build_tools DESTROOT
#
--- 432,441 ----
*** 717,740 ****
eval su $STAFFER -c \'$arg\'
fi
}
#
! # Verify that the closed tree is present if it needs to be.
#
! function check_closed_tree {
if [[ ! -d "$ON_CLOSED_BINS" ]]; then
echo "ON_CLOSED_BINS must point to the closed binaries tree."
build_ok=n
exit 1
fi
}
- function obsolete_build {
- echo "WARNING: Obsolete $1 build requested; request will be ignored"
- }
-
#
# wrapper over wsdiff.
# usage: do_wsdiff LABEL OLDPROTO NEWPROTO
#
function do_wsdiff {
--- 546,565 ----
eval su $STAFFER -c \'$arg\'
fi
}
#
! # Verify that the closed bins are present
#
! function check_closed_bins {
if [[ ! -d "$ON_CLOSED_BINS" ]]; then
echo "ON_CLOSED_BINS must point to the closed binaries tree."
build_ok=n
exit 1
fi
}
#
# wrapper over wsdiff.
# usage: do_wsdiff LABEL OLDPROTO NEWPROTO
#
function do_wsdiff {
*** 775,788 ****
if [ "$OPTHOME" = "" ]; then
OPTHOME=/opt
export OPTHOME
fi
- 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)
--- 600,609 ----
*** 807,832 ****
-M do not run pmodes (safe file permission checker)
-N do not run protocmp
-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
-i do an incremental build (no "make clobber")
-l do "make lint" in $LINTDIRS (default: $SRC y)
-m send mail to $MAILTO at end of build
-n do not do a bringover
- -o build using root privileges to set OWNER/GROUP (old style)
-p create packages
-r check ELF runtime attributes in the proto area
-t build and use the tools in $SRC/tools (default setting)
+t Use the build tools in $ONBLD_TOOLS/bin
-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)
'
#
# 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.
--- 628,649 ----
*** 842,865 ****
l_FLAG=n
M_FLAG=n
m_FLAG=n
N_FLAG=n
n_FLAG=n
- o_FLAG=n
- P_FLAG=n
p_FLAG=n
r_FLAG=n
- T_FLAG=n
t_FLAG=y
U_FLAG=n
u_FLAG=n
V_FLAG=n
- W_FLAG=n
w_FLAG=n
- X_FLAG=n
- #
- XMOD_OPT=
#
build_ok=y
#
# examine arguments
--- 659,675 ----
*** 1008,1039 ****
if [ "$BRINGOVER_WS" = "" ]; then
BRINGOVER_WS=$CLONE_WS
fi
#
- # If CLOSED_BRINGOVER_WS was not specified, let it default to CLOSED_CLONE_WS
- #
- if [ "$CLOSED_BRINGOVER_WS" = "" ]; then
- CLOSED_BRINGOVER_WS=$CLOSED_CLONE_WS
- fi
-
- #
# If BRINGOVER_FILES was not specified, default to usr
#
if [ "$BRINGOVER_FILES" = "" ]; then
BRINGOVER_FILES="usr"
fi
! check_closed_tree
#
# 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
--- 818,842 ----
if [ "$BRINGOVER_WS" = "" ]; then
BRINGOVER_WS=$CLONE_WS
fi
#
# If BRINGOVER_FILES was not specified, default to usr
#
if [ "$BRINGOVER_FILES" = "" ]; then
BRINGOVER_FILES="usr"
fi
! check_closed_bins
#
# 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 +ABCDdFfGIilMmNnpRrtUuw FLAG $NIGHTLY_OPTIONS
do
case $FLAG in
A ) A_FLAG=y
;;
B ) D_FLAG=y
*** 1062,1084 ****
;;
N ) N_FLAG=y
;;
n ) n_FLAG=y
;;
- o ) o_FLAG=y
- ;;
- P ) P_FLAG=y
- ;; # obsolete
p ) p_FLAG=y
;;
R ) m_FLAG=y
p_FLAG=y
;;
r ) r_FLAG=y
;;
- T ) T_FLAG=y
- ;; # obsolete
+t ) t_FLAG=n
;;
U ) if [ -z "${PARENT_ROOT}" ]; then
echo "PARENT_ROOT must be set if the U flag is" \
"present in NIGHTLY_OPTIONS."
--- 865,881 ----
*** 1090,1124 ****
fi
U_FLAG=y
;;
u ) u_FLAG=y
;;
- W ) W_FLAG=y
- ;;
-
w ) w_FLAG=y
;;
- X ) # now that we no longer need realmode builds, just
- # copy IHV packages. only meaningful on x86.
- if [ "$MACH" = "i386" ]; then
- X_FLAG=y
- fi
- ;;
- x ) XMOD_OPT="-x"
- ;;
\? ) echo "$USAGE"
exit 1
;;
esac
done
if [ $ISUSER -ne 0 ]; then
- if [ "$o_FLAG" = "y" ]; then
- echo "Old-style build requires root permission."
- exit 1
- fi
-
# Set default value for STAFFER, if needed.
if [ -z "$STAFFER" -o "$STAFFER" = "nobody" ]; then
STAFFER=`/usr/xpg4/bin/id -un`
export STAFFER
fi
--- 887,905 ----
*** 1128,1169 ****
MAILTO=$STAFFER
export MAILTO
fi
PATH="$OPTHOME/onbld/bin:$OPTHOME/onbld/bin/${MACH}:/usr/ccs/bin"
! PATH="$PATH:$OPTHOME/SUNWspro/bin:$TEAMWARE/bin:/usr/bin:/usr/sbin:/usr/ucb"
PATH="$PATH:/usr/openwin/bin:/usr/sfw/bin:/opt/sfw/bin:."
export PATH
# roots of source trees, both relative to $SRC and absolute.
relsrcdirs="."
abssrcdirs="$SRC"
! unset CH
! if [ "$o_FLAG" = "y" ]; then
! # root invoked old-style build -- make sure it works as it always has
! # by exporting 'CH'. The current Makefile.master doesn't use this, but
! # the old ones still do.
! PROTOCMPTERSE="protocmp.terse"
! CH=
! export CH
! else
! PROTOCMPTERSE="protocmp.terse -gu"
! fi
POUND_SIGN="#"
# have we set RELEASE_DATE in our env file?
if [ -z "$RELEASE_DATE" ]; then
RELEASE_DATE=$(LC_ALL=C date +"%B %Y")
fi
BUILD_DATE=$(LC_ALL=C date +%Y-%b-%d)
BASEWSDIR=$(basename $CODEMGR_WS)
DEV_CM="\"@(#)SunOS Internal Development: $LOGNAME $BUILD_DATE [$BASEWSDIR]\""
# we export POUND_SIGN, RELEASE_DATE and DEV_CM to speed up the build process
! # by avoiding repeated shell invocations to evaluate Makefile.master definitions.
! # we export o_FLAG and X_FLAG for use by makebfu, and by usr/src/pkg/Makefile
! export o_FLAG X_FLAG POUND_SIGN RELEASE_DATE DEV_CM
maketype="distributed"
if [[ -z "$MAKE" ]]; then
MAKE=dmake
elif [[ ! -x "$MAKE" ]]; then
--- 909,940 ----
MAILTO=$STAFFER
export MAILTO
fi
PATH="$OPTHOME/onbld/bin:$OPTHOME/onbld/bin/${MACH}:/usr/ccs/bin"
! PATH="$PATH:$OPTHOME/SUNWspro/bin:/usr/bin:/usr/sbin:/usr/ucb"
PATH="$PATH:/usr/openwin/bin:/usr/sfw/bin:/opt/sfw/bin:."
export PATH
# roots of source trees, both relative to $SRC and absolute.
relsrcdirs="."
abssrcdirs="$SRC"
! PROTOCMPTERSE="protocmp.terse -gu"
POUND_SIGN="#"
# have we set RELEASE_DATE in our env file?
if [ -z "$RELEASE_DATE" ]; then
RELEASE_DATE=$(LC_ALL=C date +"%B %Y")
fi
BUILD_DATE=$(LC_ALL=C date +%Y-%b-%d)
BASEWSDIR=$(basename $CODEMGR_WS)
DEV_CM="\"@(#)SunOS Internal Development: $LOGNAME $BUILD_DATE [$BASEWSDIR]\""
# we export POUND_SIGN, RELEASE_DATE and DEV_CM to speed up the build process
! # by avoiding repeated shell invocations to evaluate Makefile.master
! # definitions.
! export POUND_SIGN RELEASE_DATE DEV_CM
maketype="distributed"
if [[ -z "$MAKE" ]]; then
MAKE=dmake
elif [[ ! -x "$MAKE" ]]; then
*** 1194,1206 ****
fi
echo `whence $MAKE`" version is:"
echo " ${DMAKE_VERSION}"
cat <<EOF
! This version may not be safe for use. Either set TEAMWARE to a better
! path or (if you really want to use this version of dmake anyway), add
! the following to your environment to disable this check:
CHECK_DMAKE=n
EOF
exit 1
fi
--- 965,976 ----
fi
echo `whence $MAKE`" version is:"
echo " ${DMAKE_VERSION}"
cat <<EOF
! This version may not be safe for use, if you really want to use this version
! anyway add the following to your environment to disable this check:
CHECK_DMAKE=n
EOF
exit 1
fi
*** 1247,1278 ****
#
if [ "$V_FLAG" = "y" ]; then
VERSION=$V_ARG
fi
- #
- # Check for IHV root for copying ihv proto area
- #
- if [ "$X_FLAG" = "y" ]; then
- if [ "$IA32_IHV_ROOT" = "" ]; then
- echo "IA32_IHV_ROOT: must be set for copying ihv proto"
- args_ok=n
- fi
- if [ ! -d "$IA32_IHV_ROOT" ]; then
- echo "$IA32_IHV_ROOT: not found"
- args_ok=n
- fi
- if [ "$IA32_IHV_WS" = "" ]; then
- echo "IA32_IHV_WS: must be set for copying ihv proto"
- args_ok=n
- fi
- if [ ! -d "$IA32_IHV_WS" ]; then
- echo "$IA32_IHV_WS: not found"
- args_ok=n
- fi
- fi
-
TMPDIR="/tmp/nightly.tmpdir.$$"
export TMPDIR
rm -rf ${TMPDIR}
mkdir -p $TMPDIR || exit 1
chmod 777 $TMPDIR
--- 1017,1026 ----
*** 1342,1352 ****
export ENVLDLIBS3 ENVCPPFLAGS1 ENVCPPFLAGS2 ENVCPPFLAGS3 ENVCPPFLAGS4 \
ENVLDLIBS1 ENVLDLIBS2 PARENT_ROOT
PKGARCHIVE_ORIG=$PKGARCHIVE
- IA32_IHV_PKGS_ORIG=$IA32_IHV_PKGS
#
# Juggle the logs and optionally send mail on completion.
#
--- 1090,1099 ----
*** 1575,1592 ****
echo "\n==== list of environment variables ====\n" >> $LOGFILE
env >> $LOGFILE
echo "\n==== Nightly argument issues ====\n" | tee -a $mail_msg_file >> $LOGFILE
- if [ "$P_FLAG" = "y" ]; then
- obsolete_build GPROF | tee -a $mail_msg_file >> $LOGFILE
- fi
-
- 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
--- 1322,1331 ----
*** 1691,1722 ****
CODEMGR_WS="$BRINGOVER_WS" "$WHICH_SCM" 2>/dev/null \
| read scm_type junk
if [[ -z "$scm_type" || "$scm_type" == unknown ]]; then
# Probe BRINGOVER_WS to determine its type
! if [[ $BRINGOVER_WS == svn*://* ]]; then
! scm_type="subversion"
! elif [[ $BRINGOVER_WS == file://* ]] &&
! egrep -s "This is a Subversion repository" \
! ${BRINGOVER_WS#file://}/README.txt 2> /dev/null; then
! scm_type="subversion"
! elif [[ $BRINGOVER_WS == ssh://* ]]; then
scm_type="mercurial"
elif [[ $BRINGOVER_WS == http://* ]] && \
wget -q -O- --save-headers "$BRINGOVER_WS/?cmd=heads" | \
egrep -s "application/mercurial" 2> /dev/null; then
scm_type="mercurial"
- elif svn info $BRINGOVER_WS > /dev/null 2>&1; then
- scm_type="subversion"
else
scm_type="none"
fi
fi
# fold both unsupported and unrecognized results into "none"
case "$scm_type" in
! none|subversion|teamware|mercurial)
;;
*) scm_type=none
;;
esac
--- 1430,1453 ----
CODEMGR_WS="$BRINGOVER_WS" "$WHICH_SCM" 2>/dev/null \
| read scm_type junk
if [[ -z "$scm_type" || "$scm_type" == unknown ]]; then
# Probe BRINGOVER_WS to determine its type
! if [[ $BRINGOVER_WS == ssh://* ]]; then
scm_type="mercurial"
elif [[ $BRINGOVER_WS == http://* ]] && \
wget -q -O- --save-headers "$BRINGOVER_WS/?cmd=heads" | \
egrep -s "application/mercurial" 2> /dev/null; then
scm_type="mercurial"
else
scm_type="none"
fi
fi
# fold both unsupported and unrecognized results into "none"
case "$scm_type" in
! mercurial)
;;
*) scm_type=none
;;
esac
*** 1731,1741 ****
if [[ -d $CODEMGR_WS ]]; then
$WHICH_SCM | read scm_type junk || exit 1
fi
case "$scm_type" in
! none|subversion|git|teamware|mercurial)
;;
*) scm_type=none
;;
esac
--- 1462,1472 ----
if [[ -d $CODEMGR_WS ]]; then
$WHICH_SCM | read scm_type junk || exit 1
fi
case "$scm_type" in
! none|git|mercurial)
;;
*) scm_type=none
;;
esac
*** 1799,1830 ****
grep -v 'tools/ctf/dwarf/.*/libdwarf' | xargs rm -f
else
echo "\n==== No clobber at `date` ====\n" >> $LOGFILE
fi
- type bringover_teamware > /dev/null 2>&1 || function bringover_teamware {
- # sleep on the parent workspace's lock
- while egrep -s write $BRINGOVER_WS/Codemgr_wsdata/locks
- do
- sleep 120
- done
-
- if [[ -z $BRINGOVER ]]; then
- BRINGOVER=$TEAMWARE/bin/bringover
- fi
-
- staffer $BRINGOVER -c "nightly update" -p $BRINGOVER_WS \
- -w $CODEMGR_WS $BRINGOVER_FILES < /dev/null 2>&1 ||
- touch $TMPDIR/bringover_failed
-
- staffer bringovercheck $CODEMGR_WS >$TMPDIR/bringovercheck.out 2>&1
- if [ -s $TMPDIR/bringovercheck.out ]; then
- echo "\n==== POST-BRINGOVER CLEANUP NOISE ====\n"
- cat $TMPDIR/bringovercheck.out
- fi
- }
-
type bringover_mercurial > /dev/null 2>&1 || function bringover_mercurial {
typeset -x PATH=$PATH
# If the repository doesn't exist yet, then we want to populate it.
if [[ ! -d $CODEMGR_WS/.hg ]]; then
--- 1530,1539 ----
*** 1939,1991 ****
return
fi
printf "\nadded the following changesets to open repository:\n"
cat $TMPDIR/incoming_open.out
-
- #
- # The closed repository could have been newly created, even though
- # the open one previously existed...
- #
- if [ -f $TMPDIR/new_closed ]; then
- return
- fi
-
- if [ -f $TMPDIR/incoming_closed.out ]; then
- printf "\nadded the following changesets to closed repository:\n"
- cat $TMPDIR/incoming_closed.out
- fi
- }
-
- type bringover_subversion > /dev/null 2>&1 || function bringover_subversion {
- typeset -x PATH=$PATH
-
- if [[ ! -d $CODEMGR_WS/.svn ]]; then
- staffer svn checkout $BRINGOVER_WS $CODEMGR_WS ||
- touch $TMPDIR/bringover_failed
- else
- typeset root
- root=$(staffer svn info $CODEMGR_WS |
- nawk '/^Repository Root:/ {print $NF}')
- if [[ $root != $BRINGOVER_WS ]]; then
- # We fail here because there's no way to update
- # from a named repo.
- cat <<-EOF
- \$BRINGOVER_WS doesn't match repository root:
- \$BRINGOVER_WS: $BRINGOVER_WS
- Repository root: $root
- EOF
- touch $TMPDIR/bringover_failed
- else
- # If a conflict happens, svn still exits 0.
- staffer svn update $CODEMGR_WS | tee $TMPDIR/pull.out ||
- touch $TMPDIR/bringover_failed
- if grep "^C" $TMPDIR/pull.out > /dev/null 2>&1; then
- touch $TMPDIR/bringover_failed
- fi
- fi
- fi
}
type bringover_none > /dev/null 2>&1 || function bringover_none {
echo "Couldn't figure out what kind of SCM to use for $BRINGOVER_WS."
touch $TMPDIR/bringover_failed
--- 1648,1657 ----
*** 2026,2036 ****
#
[[ $SCM_TYPE = none ]] && SCM_TYPE=$PARENT_SCM_TYPE
run_hook POST_BRINGOVER
! check_closed_tree
else
echo "\n==== No bringover to $CODEMGR_WS ====\n" >> $LOGFILE
fi
--- 1692,1702 ----
#
[[ $SCM_TYPE = none ]] && SCM_TYPE=$PARENT_SCM_TYPE
run_hook POST_BRINGOVER
! check_closed_bins
else
echo "\n==== No bringover to $CODEMGR_WS ====\n" >> $LOGFILE
fi
*** 2115,2131 ****
if [[ $? != 0 && "$t_FLAG" = y ]]; then
use_tools $TOOLS_PROTO
fi
fi
- #
- # copy ihv proto area in addition to the build itself
- #
- 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
--- 1781,1790 ----
*** 2153,2169 ****
if [ "$N_FLAG" != "y" ]; then
E1=
f1=
- if [ -d "$SRC/pkgdefs" ]; then
- f1="$SRC/pkgdefs/etc/exception_list_$MACH"
- if [ "$X_FLAG" = "y" ]; then
- f1="$f1 $IA32_IHV_WS/usr/src/pkgdefs/etc/exception_list_$MACH"
- fi
- fi
-
for f in $f1; do
if [ -f "$f" ]; then
E1="$E1 -e $f"
fi
done
--- 1812,1821 ----
*** 2177,2248 ****
for f in $f2; do
if [ -f "$f" ]; then
E2="$E2 -e $f"
fi
done
-
- if [ -f "$REF_PROTO_LIST" ]; then
- #
- # For builds that copy the IHV proto area (-X), add the
- # IHV proto list to the reference list if the reference
- # was built without -X.
- #
- # For builds that don't copy the IHV proto area, add the
- # IHV proto list to the build's proto list if the
- # reference was built with -X.
- #
- # Use the presence of the first file entry of the cached
- # IHV proto list in the reference list to determine
- # whether it was built with -X or not.
- #
- IHV_REF_PROTO_LIST=$SRC/pkg/proto_list_ihv_$MACH
- grepfor=$(nawk '$1 == "f" { print $2; exit }' \
- $IHV_REF_PROTO_LIST 2> /dev/null)
- if [ $? = 0 -a -n "$grepfor" ]; then
- if [ "$X_FLAG" = "y" ]; then
- grep -w "$grepfor" \
- $REF_PROTO_LIST > /dev/null
- if [ ! "$?" = "0" ]; then
- REF_IHV_PROTO="-d $IHV_REF_PROTO_LIST"
- fi
- else
- grep -w "$grepfor" \
- $REF_PROTO_LIST > /dev/null
- if [ "$?" = "0" ]; then
- IHV_PROTO_LIST="$IHV_REF_PROTO_LIST"
- fi
- fi
- fi
- fi
- fi
-
- if [ "$N_FLAG" != "y" -a -f $SRC/pkgdefs/Makefile ]; then
- echo "\n==== Impact on SVr4 packages ====\n" >> $mail_msg_file
- #
- # Compare the build's proto list with current package
- # definitions to audit the quality of package
- # definitions and makefile install targets. Use the
- # current exception list.
- #
- PKGDEFS_LIST=""
- for d in $abssrcdirs; do
- if [ -d $d/pkgdefs ]; then
- PKGDEFS_LIST="$PKGDEFS_LIST -d $d/pkgdefs"
- fi
- done
- if [ "$X_FLAG" = "y" -a \
- -d $IA32_IHV_WS/usr/src/pkgdefs ]; then
- PKGDEFS_LIST="$PKGDEFS_LIST -d $IA32_IHV_WS/usr/src/pkgdefs"
- fi
- $PROTOCMPTERSE \
- "Files missing from the proto area:" \
- "Files missing from packages:" \
- "Inconsistencies between pkgdefs and proto area:" \
- ${E1} \
- ${PKGDEFS_LIST} \
- $ATLOG/proto_list_${MACH} \
- >> $mail_msg_file
fi
if [ "$N_FLAG" != "y" -a -d $SRC/pkg ]; then
echo "\n==== Validating manifests against proto area ====\n" \
>> $mail_msg_file
--- 1829,1838 ----
*** 2262,2274 ****
"Files in yesterday's proto area, but not today's:" \
"Files in today's proto area, but not yesterday's:" \
"Files that changed between yesterday and today:" \
${ELIST} \
-d $REF_PROTO_LIST \
- $REF_IHV_PROTO \
$ATLOG/proto_list_${MACH} \
- $IHV_PROTO_LIST \
>> $mail_msg_file
fi
fi
if [ "$u_FLAG" = "y" -a "$build_ok" = "y" ]; then
--- 1852,1862 ----
*** 2500,2514 ****
fi
diff $SRC/unref-${MACH}.ref $SRC/unref-${MACH}.out >>$mail_msg_file
fi
- #
- # Generate the OpenSolaris deliverables if requested. Some of these
- # steps need to come after findunref and are commented below.
- #
-
# 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
--- 2088,2097 ----
*** 2521,2548 ****
if [ "$M_FLAG" != "y" -a "$build_ok" = y ]; then
echo "\n==== Impact on file permissions ====\n" \
>> $mail_msg_file
- abspkgdefs=
abspkg=
for d in $abssrcdirs; do
- if [ -d "$d/pkgdefs" ]; then
- abspkgdefs="$abspkgdefs $d"
- fi
if [ -d "$d/pkg" ]; then
abspkg="$abspkg $d"
fi
done
- if [ -n "$abspkgdefs" ]; then
- pmodes -qvdP \
- `find $abspkgdefs -name pkginfo.tmpl -print -o \
- -name .del\* -prune | sed -e 's:/pkginfo.tmpl$::' | \
- sort -u` >> $mail_msg_file
- fi
-
if [ -n "$abspkg" ]; then
for d in "$abspkg"; do
( cd $d/pkg ; $MAKE -e pmodes ) >> $mail_msg_file
done
fi
--- 2104,2120 ----