Initial import of the CDE 2.1.30 sources from the Open Group.
This commit is contained in:
662
cde/admin/BuildTools/tog/build_world
Executable file
662
cde/admin/BuildTools/tog/build_world
Executable file
@@ -0,0 +1,662 @@
|
||||
#!/bin/ksh
|
||||
#
|
||||
# build_world
|
||||
#
|
||||
########################################################################
|
||||
# set -x
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# Script setup: THIS NEEDS TO BE FIRST
|
||||
#
|
||||
SCRIPTS_DIR="`dirname $0`"
|
||||
if [ "" = "$SCRIPTS_DIR" ]; then
|
||||
SCRIPTS_DIR=/project/dt/scripts
|
||||
fi
|
||||
|
||||
##########################################################################
|
||||
##########################################################################
|
||||
#
|
||||
# Script specific global variables
|
||||
#
|
||||
##########################################################################
|
||||
##########################################################################
|
||||
PROJECT_NAME="dt"
|
||||
BUILD_TYPE=""
|
||||
LOG_DIR=""
|
||||
MAIL_LIST=""
|
||||
PRE_BUILD=""
|
||||
POST_BUILD=""
|
||||
TOP=""
|
||||
PROG_NAME="$0"
|
||||
LOG_DATE="`date +%h.%d,%H:%M:%S`"
|
||||
TMP_LOG_DIR_BASE=/project/dt/logs/build #Need to define now for usage()
|
||||
VIEW_TAG="`uname -s`:no_view_specified"
|
||||
|
||||
X_PROJECT=x11
|
||||
MOTIF_PROJECT=motif
|
||||
CDE_PROJECT=cde
|
||||
CDEDOC_PROJECT=cdedoc
|
||||
CDETEST_PROJECT=cde-test
|
||||
BUILD=build
|
||||
|
||||
DO_X_BUILD="False"
|
||||
DO_MOTIF_BUILD="False"
|
||||
DO_CDE_BUILD="False"
|
||||
DO_CDEDOC_BUILD="False"
|
||||
DO_REDIRECT_IO="True"
|
||||
DO_CDETEST_BUILD="False"
|
||||
|
||||
DO_DEBUG="False"
|
||||
DO_NOT_BUILD="False"
|
||||
DO_COMPONENT_LOGS="True"
|
||||
DO_ERROR_FILES="True"
|
||||
DO_WARNING_FILES="True"
|
||||
|
||||
##########################################################################
|
||||
|
||||
usage ()
|
||||
{
|
||||
cat <<eof
|
||||
USAGE: $1
|
||||
[-e | -dev] # Default: build x11, motif and cde
|
||||
[-x | -x11] # Build x11 only
|
||||
[-m | -motif] # Build motif only
|
||||
[-c | -cde] # Build cde only
|
||||
[-d | -cdedoc] # Build cde docs only
|
||||
[-t | -cdetest] # Build cde tests only
|
||||
[-a | -all] # Build x11, motif, cde, cdedoc and cdetest
|
||||
[-no_build] # Dont build anything
|
||||
[-no_complogs] # Dont create .log files for components
|
||||
[-no_errors] # Dont create .err files
|
||||
[-no_ioredirect]# Dont redirect stdout/stderr to build.log
|
||||
[-no_warnings] # Dont create .wrn files
|
||||
[-rpt_summary]
|
||||
# Only print information used by
|
||||
# build_summary to stdout. Equivalent to
|
||||
# -no_build -no_complogs -no_errors -no_warnings
|
||||
[-clean] # Do a clean build; default is incremental
|
||||
[-debug] # Debugging output
|
||||
[-pre <script_name>]
|
||||
# script_name is a program that is run before the
|
||||
# build is run.
|
||||
[-post <script_name>]
|
||||
# script_name is a program that is run after the
|
||||
# build is run.
|
||||
[{-v | -view | -view_tag} <view_tag>]
|
||||
# The ClearCase view should always be set before
|
||||
# this script is run. This option should only
|
||||
# be used on systems where ClearCase is not installed.
|
||||
# The view tag will be used when constructing the
|
||||
# log directory name.
|
||||
[{-ld | -log_dir} <directory>]
|
||||
# Specify an alternate log directory.
|
||||
# Default: $TMP_LOG_DIR_BASE/<view_tag>/<date>/
|
||||
# <date> is of the format '$LOG_DATE'
|
||||
[{-sd | -script_dir} <directory>]
|
||||
# Specify an alternate directory for required files.
|
||||
# Default: $SCRIPTS_DIR/
|
||||
[{-pn | -project_name} project_name]
|
||||
# Specifies the project name used in the log dir.
|
||||
# The default log dir is is /project/dt/...
|
||||
# Use this option (-pn x11) for X11 only builds to
|
||||
# get logs in /project/x11/...
|
||||
[-top <dir_name>]
|
||||
# Use this to over-ride the default TOP directory
|
||||
# for a project. There is NO default.
|
||||
[{-mail | mail_list} <user_names>]
|
||||
[-h | -? | -help] # Print usage and exit
|
||||
eof
|
||||
}
|
||||
|
||||
|
||||
##########################################################################
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case $1 in
|
||||
-e | -dev) DO_X_BUILD="True"
|
||||
DO_MOTIF_BUILD="True"
|
||||
DO_CDE_BUILD="True"
|
||||
shift 1 ;;
|
||||
|
||||
-x | -x11) DO_X_BUILD="True"
|
||||
shift 1 ;;
|
||||
|
||||
-m | -motif) DO_MOTIF_BUILD="True"
|
||||
shift 1 ;;
|
||||
|
||||
-c | -cde) DO_CDE_BUILD="True"
|
||||
shift 1 ;;
|
||||
|
||||
-d | -cdedoc) DO_CDEDOC_BUILD="True"
|
||||
shift 1 ;;
|
||||
|
||||
-t | -cdetest) DO_CDETEST_BUILD="True";
|
||||
shift 1 ;;
|
||||
|
||||
-a | -all) DO_X_BUILD="True"
|
||||
DO_MOTIF_BUILD="True"
|
||||
DO_CDE_BUILD="True"
|
||||
DO_CDEDOC_BUILD="True"
|
||||
DO_CDETEST_BUILD="True"
|
||||
shift 1 ;;
|
||||
|
||||
-no_build) DO_NOT_BUILD="True"; shift 1 ;;
|
||||
|
||||
-no_complogs) DO_COMPONENT_LOGS="False"; shift 1 ;;
|
||||
|
||||
-no_errors) DO_ERROR_FILES="False"; shift 1 ;;
|
||||
|
||||
-no_ioredirect) DO_REDIRECT_IO="False"; shift 1 ;;
|
||||
|
||||
-no_warnings) DO_WARNING_FILES="False"; shift 1 ;;
|
||||
|
||||
-rpt_summary) DO_NOT_BUILD="True"
|
||||
DO_COMPONENT_LOGS="False"
|
||||
DO_ERROR_FILES="False"
|
||||
DO_WARNING_FILES="False"
|
||||
shift 1;;
|
||||
|
||||
-clean) BUILD_TYPE="clean"; shift 1 ;;
|
||||
|
||||
-debug) DO_DEBUG="True"
|
||||
DO_REDIRECT_IO="False"; shift 1 ;;
|
||||
|
||||
-ld | -log_dir) LOG_DIR=$2; shift 2 ;;
|
||||
|
||||
-v | -view | -view_tag) VIEW_TAG=$2; shift 2 ;;
|
||||
|
||||
-sd | -script_dir) SCRIPTS_DIR=$2;
|
||||
export SCRIPTS_DIR;
|
||||
shift 2 ;;
|
||||
|
||||
-pre) PRE_BUILD=$2; shift 2 ;;
|
||||
|
||||
-post) POST_BUILD=$2; shift 2 ;;
|
||||
|
||||
-top) TOP=$2; shift 2 ;;
|
||||
|
||||
-pn | -project_name) PROJECT_NAME=$2; shift 2 ;;
|
||||
|
||||
-mail | -mail_list) MAIL_LIST=$2; shift 2 ;;
|
||||
|
||||
-h | "-?" | -help | *) usage $PROG_NAME;
|
||||
exit 1;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# Script setup: Do this after the command line parsing to pick up
|
||||
# an alternate setting of SCRIPTS_DIR
|
||||
#
|
||||
if [ ! -f $SCRIPTS_DIR/script_setup.ksh ]; then
|
||||
print -u2 "$PRG: File '$SCRIPTS_DIR/script_setup.ksh' NOT found!"
|
||||
print -u2 "$PRG: Exiting ..."
|
||||
exit 1
|
||||
fi
|
||||
. $SCRIPTS_DIR/script_setup.ksh
|
||||
|
||||
do_check_file $BUILD_PROJECT -x "NOT found"
|
||||
do_check_file $EXTRACT_LOG -x "NOT found"
|
||||
do_check_file $EXTRACT_MSG -x "NOT found"
|
||||
do_check_file $CDE_COMPONENTS -f "NOT found"
|
||||
do_check_file $ERROR_MSGS -f "NOT found"
|
||||
do_check_file $WARNING_MSGS -f "NOT found"
|
||||
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# Exit if $CLEAR_CASE_TOOL is installed and no view is set
|
||||
#
|
||||
if [ -x $CLEAR_CASE_TOOL ]; then
|
||||
$CLEAR_CASE_TOOL pwv | grep 'Set view' | grep NONE > /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
print -u2 "Exiting ... No ClearCase view is set!"
|
||||
do_exit 1
|
||||
fi
|
||||
VIEW_TAG="`$CLEAR_CASE_TOOL pwv -short`"
|
||||
else
|
||||
#
|
||||
# Some systems don't have $CLEAR_CASE_TOOL so we need to
|
||||
# work around it. Just output a warning for now.
|
||||
#
|
||||
print -u2 "$PROG_NAME: Warning: '$CLEAR_CASE_TOOL' is NOT installed."
|
||||
fi
|
||||
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# If no project was selected, then build the 'dev' projects
|
||||
#
|
||||
if [ "False" = $DO_X_BUILD -a "False" = $DO_MOTIF_BUILD -a "False" = $DO_CDE_BUILD -a "FALSE" = $DO_CDEDOC_BUILD -a "False" = $DO_CDETEST_BUILD ]; then
|
||||
DO_X_BUILD="True"
|
||||
DO_MOTIF_BUILD="True"
|
||||
DO_CDE_BUILD="True"
|
||||
fi
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# If $INITIALIZE_VIEW is present, run it
|
||||
#
|
||||
if [ -x $INITIALIZE_VIEW -a "$X_PROJECT" != "$PROJECT_NAME" ]; then
|
||||
$INITIALIZE_VIEW > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# Set the log dir and log file for the project logs
|
||||
#
|
||||
# Put all undirected stdout and stderr in a separate log file
|
||||
#
|
||||
if [ "" = "$LOG_DIR" ]; then
|
||||
LOG_DIR=$LOG_DIR_BASE/$VIEW_TAG/$LOG_DATE
|
||||
|
||||
if [ -L $LOG_DIR_BASE/$VIEW_TAG/LATEST ]; then
|
||||
rm $LOG_DIR_BASE/$VIEW_TAG/LATEST
|
||||
fi
|
||||
ln -s ./$LOG_DATE $LOG_DIR_BASE/$VIEW_TAG/LATEST
|
||||
fi
|
||||
SUMM_FILE=$LOG_DIR/build.summary
|
||||
if [ ! -d $LOG_DIR ]; then
|
||||
mkdir -p $LOG_DIR
|
||||
chmod 775 $LOG_DIR
|
||||
fi
|
||||
|
||||
if [ "True" = "$DO_REDIRECT_IO" ]; then
|
||||
BUILD_LOG=$LOG_DIR/$BUILD.log
|
||||
BUILD_LOG_REDIRECT="-e $BUILD_LOG"
|
||||
rm -f $BUILD_LOG && touch $BUILD_LOG
|
||||
exec >> $BUILD_LOG
|
||||
exec 2>> $BUILD_LOG
|
||||
else
|
||||
BUILD_LOG_REDIRECT=""
|
||||
fi
|
||||
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# Build a project
|
||||
#
|
||||
do_build ()
|
||||
{
|
||||
#
|
||||
# $1 = the project name
|
||||
# $2 = [optional] command line options for $BUILD_PROJECT
|
||||
# $3 = [optional] value for command line option $2
|
||||
#
|
||||
|
||||
print -u1 "building in $1..."
|
||||
|
||||
DATE=`date +"$BTAG_DFMT"`
|
||||
|
||||
if [ "True" = $DO_NOT_BUILD ]; then
|
||||
print -u1 "$BTAG_STRT $1: $DATE" >> $SUMM_FILE
|
||||
print -u1 "$BTAG_PRJT = $1" >> $SUMM_FILE
|
||||
print -u1 "$BTAG_ENDD $1: $DATE" >> $SUMM_FILE
|
||||
return
|
||||
fi
|
||||
|
||||
#
|
||||
# if building cde tests, write to cde-test-summary.log and
|
||||
# not cde-test.log since cde-test.log will be created by the
|
||||
# test-build program.
|
||||
#
|
||||
if [ "$CDETEST_PROJECT" = "$1" ]; then
|
||||
LOG_FILE=$LOG_DIR/$1-summary.log
|
||||
else
|
||||
LOG_FILE=$LOG_DIR/$1.log
|
||||
fi
|
||||
|
||||
print -u1 "$BTAG_STRT $1: $DATE" >> $SUMM_FILE
|
||||
print -u1 "$BTAG_PRJT = $1" >> $SUMM_FILE
|
||||
print -u1 "$BTAG_LOGF = $LOG_FILE" >> $SUMM_FILE
|
||||
|
||||
print -u1 "$BTAG_STRT $1: $DATE" > $LOG_FILE
|
||||
print -u1 "$BTAG_PRJT = $1" >> $LOG_FILE
|
||||
print -u1 "$BTAG_LOGF = $LOG_FILE" >> $LOG_FILE
|
||||
|
||||
print -u1 "$BTAG_SYST = `uname -a`" >> $LOG_FILE
|
||||
print -u1 "$BTAG_VIEW = $VIEW_TAG" >> $LOG_FILE
|
||||
if [ "" = "$BUILD_TYPE" ]; then
|
||||
print -u1 "$BTAG_TYPE = incrmt" >> $LOG_FILE
|
||||
else
|
||||
print -u1 "$BTAG_TYPE = $BUILD_TYPE" >> $LOG_FILE
|
||||
fi
|
||||
if [ -x $CLEAR_CASE_TOOL ]; then
|
||||
$CLEAR_CASE_TOOL catcs >> $LOG_FILE
|
||||
fi
|
||||
|
||||
if [ "" != "$PRE_BUILD" -a -x "$PRE_BUILD" ]; then
|
||||
print -u1 "Running pre-build script '$PRE_BUILD'." >> $LOG_FILE
|
||||
$PRE_BUILD >> $LOG_FILE 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
print -u2 "\nThe pre_build script '$PRE_BUILD' failed."
|
||||
print -u2 "Aborting the build!\n"
|
||||
do_exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "" = "$2" ]; then
|
||||
if [ "" = "$BUILD_TYPE" ]; then
|
||||
if [ "" = "$TOP" ]; then
|
||||
$BUILD_PROJECT -p $1 >> $LOG_FILE 2>&1
|
||||
else
|
||||
$BUILD_PROJECT -top "$TOP" -p $1 >> $LOG_FILE 2>&1
|
||||
fi
|
||||
else
|
||||
if [ "" = "$TOP" ]; then
|
||||
$BUILD_PROJECT -p $1 -"$BUILD_TYPE" >> $LOG_FILE 2>&1
|
||||
else
|
||||
$BUILD_PROJECT -top "$TOP" -p $1 -"$BUILD_TYPE" >> $LOG_FILE 2>&1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [ "" = "$BUILD_TYPE" ]; then
|
||||
if [ "" = "$TOP" ]; then
|
||||
$BUILD_PROJECT -p $1 "$2" "$3" >> $LOG_FILE 2>&1
|
||||
else
|
||||
$BUILD_PROJECT -top "$TOP" -p $1 "$2" "$3" >> $LOG_FILE 2>&1
|
||||
fi
|
||||
else
|
||||
if [ "" = "$TOP" ]; then
|
||||
$BUILD_PROJECT -p $1 -"$BUILD_TYPE" "$2" "$3" >> $LOG_FILE 2>&1
|
||||
else
|
||||
$BUILD_PROJECT -top "$TOP" -p $1 -"$BUILD_TYPE" "$2" "$3" >> $LOG_FILE 2>&1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "" != "$POST_BUILD" -a -x "$POST_BUILD" ]; then
|
||||
print -u1 "Running post-build script '$POST_BUILD'." >> $LOG_FILE
|
||||
$POST_BUILD >> $LOG_FILE 2>&1
|
||||
fi
|
||||
|
||||
DATE=`date +"$BTAG_DFMT"`
|
||||
|
||||
print -u1 "$BTAG_ENDD $1: $DATE" >> $LOG_FILE
|
||||
print -u1 "$BTAG_ENDD $1: $DATE\n" >> $SUMM_FILE
|
||||
}
|
||||
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# do_summary -
|
||||
#
|
||||
do_summary ()
|
||||
{
|
||||
#
|
||||
# $1 = the project name
|
||||
# $2 = the log file
|
||||
#
|
||||
PROJECT=$1
|
||||
LOG_FILE=$2$3
|
||||
ERR_FILE=$2$4
|
||||
WRN_FILE=$2$5
|
||||
|
||||
print -u1 extracting errors and warnings in $PROJECT...
|
||||
|
||||
ERR=`$EXTRACT_MSG \
|
||||
-m $ERROR_MSGS \
|
||||
-i $WARNING_MSGS -i $IGNORE_MSGS \
|
||||
-l $LOG_FILE $BUILD_LOG_REDIRECT | wc -l`
|
||||
WARN=`$EXTRACT_MSG \
|
||||
-m $WARNING_MSGS \
|
||||
-l $LOG_FILE $BUILD_LOG_REDIRECT | wc -l`
|
||||
|
||||
if [ "True" = $DO_ERROR_FILES ]; then
|
||||
$EXTRACT_MSG \
|
||||
-m $ERROR_MSGS -m $BUILD_MSGS \
|
||||
-i $WARNING_MSGS -i $IGNORE_MSGS \
|
||||
-l $LOG_FILE $BUILD_LOG_REDIRECT | \
|
||||
$COMPRESS_MSG \
|
||||
-m $BUILD_MSGS $BUILD_LOG_REDIRECT > $ERR_FILE
|
||||
fi
|
||||
|
||||
if [ "True" = $DO_WARNING_FILES ]; then
|
||||
$EXTRACT_MSG \
|
||||
-m $WARNING_MSGS -m $BUILD_MSGS \
|
||||
-l $LOG_FILE $BUILD_LOG_REDIRECT | \
|
||||
$COMPRESS_MSG \
|
||||
-m $BUILD_MSGS $BUILD_LOG_REDIRECT > $WRN_FILE
|
||||
fi
|
||||
|
||||
AWK_PROJECT='{printf("%-32s %5s errors %5s warnings",$1,$2,$3)}'
|
||||
echo $PROJECT $ERR $WARN | awk "$AWK_PROJECT" >> $SUMM_FILE
|
||||
print -u1 >> $SUMM_FILE
|
||||
|
||||
if [ "True" = "$DO_DEBUG" ]; then
|
||||
echo $PROJECT $ERR $WARN | awk "$AWK_PROJECT"
|
||||
print -u1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# do_component_summary
|
||||
#
|
||||
do_component_summary ()
|
||||
{
|
||||
#
|
||||
# $1 = the project name
|
||||
# $2 = the project log file
|
||||
# $3 = the components file
|
||||
#
|
||||
PROJECT=$1
|
||||
PROJECT_LOG_FILE=$2
|
||||
COMPONENTS_FILE=$3
|
||||
COMPONENTS_LOG_DIR=$LOG_DIR/$PROJECT
|
||||
|
||||
typeset -i TTL_ERR
|
||||
typeset -i TTL_WARN
|
||||
|
||||
AWK_COMPONENT='{printf(" %-32s %5s errors %5s warnings",$1,$2,$3)}'
|
||||
|
||||
#
|
||||
# Separate the log file for the project into log files for the
|
||||
# individual components. Put them into a subdirectory since
|
||||
# there may be alot of them.
|
||||
#
|
||||
if [ "$DO_COMPONENT_LOGS" = "True" ]; then
|
||||
if [ ! -d $COMPONENTS_LOG_DIR ]; then
|
||||
mkdir -p $COMPONENTS_LOG_DIR
|
||||
chmod 775 $COMPONENTS_LOG_DIR
|
||||
fi
|
||||
|
||||
$EXTRACT_LOG \
|
||||
-l $PROJECT_LOG_FILE \
|
||||
-c $COMPONENTS_FILE \
|
||||
-ld $COMPONENTS_LOG_DIR $BUILD_LOG_REDIRECT
|
||||
fi
|
||||
|
||||
let TTL_ERR=0
|
||||
let TTL_WARN=0
|
||||
|
||||
for COMPONENT in `cat $COMPONENTS_FILE`
|
||||
do
|
||||
print -u1 extracting errors and warnings in $PROJECT/$COMPONENT...
|
||||
|
||||
COMPONENT_FILE_BASE=`echo $COMPONENT | tr "/" ","`
|
||||
COMPONENT_LOG_FILE=$COMPONENTS_LOG_DIR/$COMPONENT_FILE_BASE.log
|
||||
|
||||
if [ ! -f $COMPONENT_LOG_FILE ]; then
|
||||
print -u2 $PROG_NAME: Error, $COMPONENT_LOG_FILE not found.
|
||||
continue
|
||||
fi
|
||||
|
||||
ERR=`$EXTRACT_MSG \
|
||||
-m $ERROR_MSGS \
|
||||
-i $WARNING_MSGS -i $IGNORE_MSGS \
|
||||
-l $COMPONENT_LOG_FILE $BUILD_LOG_REDIRECT | wc -l`
|
||||
WARN=`$EXTRACT_MSG \
|
||||
-m $WARNING_MSGS \
|
||||
-l $COMPONENT_LOG_FILE $BUILD_LOG_REDIRECT | wc -l`
|
||||
|
||||
let TTL_ERR=TTL_ERR+ERR
|
||||
let TTL_WARN=TTL_WARN+WARN
|
||||
|
||||
if [ $ERR -ne 0 -o $WARN -ne 0 ]; then
|
||||
echo $PROJECT/$COMPONENT $ERR $WARN | \
|
||||
awk "$AWK_COMPONENT" >> $SUMM_FILE
|
||||
print -u1 >> $SUMM_FILE
|
||||
|
||||
if [ "True" = $DO_ERROR_FILES -a $ERR -gt 0 ]; then
|
||||
COMPONENT_ERR_FILE=$COMPONENTS_LOG_DIR/$COMPONENT_FILE_BASE.err
|
||||
$EXTRACT_MSG \
|
||||
-m $ERROR_MSGS -m $BUILD_MSGS \
|
||||
-i $WARNING_MSGS -i $IGNORE_MSGS \
|
||||
-l $COMPONENT_LOG_FILE $BUILD_LOG_REDIRECT | \
|
||||
$COMPRESS_MSG \
|
||||
-m $BUILD_MSGS $BUILD_LOG_REDIRECT > $COMPONENT_ERR_FILE
|
||||
fi
|
||||
|
||||
if [ "True" = $DO_WARNING_FILES -a $WARN -gt 0 ]; then
|
||||
COMPONENT_WRN_FILE=$COMPONENTS_LOG_DIR/$COMPONENT_FILE_BASE.wrn
|
||||
$EXTRACT_MSG \
|
||||
-m $WARNING_MSGS -m $BUILD_MSGS \
|
||||
-l $COMPONENT_LOG_FILE $BUILD_LOG_REDIRECT | \
|
||||
$COMPRESS_MSG \
|
||||
-m $BUILD_MSGS $BUILD_LOG_REDIRECT > $COMPONENT_WRN_FILE
|
||||
fi
|
||||
|
||||
if [ "True" = "$DO_DEBUG" ]; then
|
||||
echo $PROJECT/$COMPONENT $ERR $WARN | awk "$AWK_COMPONENT"
|
||||
print -u1
|
||||
|
||||
echo TOTAL $TTL_ERR $TTL_WARN | awk "$AWK_COMPONENT"
|
||||
print -u1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
echo $PROJECT-TOTAL $TTL_ERR $TTL_WARN | awk "$AWK_COMPONENT" >> $SUMM_FILE
|
||||
print -u1 >> $SUMM_FILE
|
||||
}
|
||||
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# Print header stuff needed for build_summary
|
||||
#
|
||||
DATE=`date +"$BTAG_DFMT"`
|
||||
print -u1 "###################################################" >> $SUMM_FILE
|
||||
print -u1 "$BTAG_DATE = $DATE" >> $SUMM_FILE
|
||||
print -u1 "$BTAG_VIEW = $VIEW_TAG" >> $SUMM_FILE
|
||||
if [ -x $CLEAR_CASE_TOOL ]; then
|
||||
TMP_FILE_NAME=`$CLEAR_CASE_TOOL catcs | head -1 | awk '{printf "%s\n", $3}'`
|
||||
if [ -f "$TMP_FILE_NAME" ]; then
|
||||
print -u1 "$BTAG_CFGS = `$CLEAR_CASE_TOOL catcs | head -1 | awk '{printf "%s\n", $3}'`" >> $SUMM_FILE
|
||||
else
|
||||
print -u1 "$BTAG_CFGS = NoSpecFile" >> $SUMM_FILE
|
||||
fi
|
||||
else
|
||||
print -u1 "$BTAG_CFGS = NoClrCase" >> $SUMM_FILE
|
||||
fi
|
||||
print -u1 "$BTAG_PTFM = `uname -s`" >> $SUMM_FILE
|
||||
print -u1 "$BTAG_LOGD = $LOG_DIR" >> $SUMM_FILE
|
||||
if [ "" = "$BUILD_TYPE" ]; then
|
||||
print -u1 "$BTAG_TYPE = incrmt" >> $SUMM_FILE
|
||||
else
|
||||
print -u1 "$BTAG_TYPE = $BUILD_TYPE" >> $SUMM_FILE
|
||||
fi
|
||||
print -u1 "###################################################\n" >> $SUMM_FILE
|
||||
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# Do the builds and Summarize the results
|
||||
#
|
||||
|
||||
if [ "True" = $DO_X_BUILD ]; then
|
||||
print -u1 "#############################################" >> $SUMM_FILE
|
||||
do_build $X_PROJECT "" ""
|
||||
do_summary $X_PROJECT $LOG_DIR/$X_PROJECT .log .err .wrn
|
||||
do_component_summary \
|
||||
$X_PROJECT \
|
||||
$LOG_DIR/$X_PROJECT.log \
|
||||
$X_COMPONENTS
|
||||
print -u1 "#############################################\n" >> $SUMM_FILE
|
||||
fi
|
||||
|
||||
if [ "True" = $DO_MOTIF_BUILD ]; then
|
||||
print -u1 "#############################################" >> $SUMM_FILE
|
||||
do_build $MOTIF_PROJECT "" ""
|
||||
do_summary $MOTIF_PROJECT $LOG_DIR/$MOTIF_PROJECT .log .err .wrn
|
||||
do_component_summary \
|
||||
$MOTIF_PROJECT \
|
||||
$LOG_DIR/$MOTIF_PROJECT.log \
|
||||
$MOTIF_COMPONENTS
|
||||
print -u1 "#############################################\n" >> $SUMM_FILE
|
||||
fi
|
||||
|
||||
if [ "True" = $DO_CDE_BUILD ]; then
|
||||
print -u1 "#############################################" >> $SUMM_FILE
|
||||
do_build $CDE_PROJECT "" ""
|
||||
do_summary $CDE_PROJECT $LOG_DIR/$CDE_PROJECT .log .err .wrn
|
||||
do_component_summary \
|
||||
$CDE_PROJECT \
|
||||
$LOG_DIR/$CDE_PROJECT.log \
|
||||
$CDE_COMPONENTS
|
||||
print -u1 "#############################################\n" >> $SUMM_FILE
|
||||
fi
|
||||
|
||||
if [ "True" = $DO_CDEDOC_BUILD ]; then
|
||||
print -u1 "#############################################" >> $SUMM_FILE
|
||||
do_build $CDEDOC_PROJECT "" ""
|
||||
do_summary $CDEDOC_PROJECT $LOG_DIR/$CDEDOC_PROJECT .log .err .wrn
|
||||
do_component_summary \
|
||||
$CDEDOC_PROJECT \
|
||||
$LOG_DIR/$CDEDOC_PROJECT.log \
|
||||
$CDEDOC_COMPONENTS
|
||||
print -u1 "#############################################\n" >> $SUMM_FILE
|
||||
fi
|
||||
|
||||
if [ "True" = "$DO_CDETEST_BUILD" ]; then
|
||||
print -u1 "#############################################" >> $SUMM_FILE
|
||||
do_build $CDETEST_PROJECT "-log_dir" "$LOG_DIR"
|
||||
if [ -f $LOG_DIR/$CDETEST_PROJECT/allmake.* ]; then
|
||||
ln -s $LOG_DIR/$CDETEST_PROJECT/allmake.* $LOG_DIR/$CDETEST_PROJECT.log
|
||||
fi
|
||||
do_summary $CDETEST_PROJECT $LOG_DIR/$CDETEST_PROJECT .log .err .wrn
|
||||
do_component_summary \
|
||||
$CDETEST_PROJECT \
|
||||
$LOG_DIR/$CDETEST_PROJECT.log \
|
||||
$CDETEST_COMPONENTS
|
||||
print -u1 "#############################################\n" >> $SUMM_FILE
|
||||
fi
|
||||
|
||||
#print -u1 "###################################################\n" >> $SUMM_FILE
|
||||
#do_summary $BUILD $LOG_DIR/$BUILD.log
|
||||
#print -u1 "###################################################\n" >> $SUMM_FILE
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# Complete the build summary with the config spec and the $BTAG_CMPL
|
||||
#
|
||||
print -u1 "###################################################\n" >> $SUMM_FILE
|
||||
if [ -x $CLEAR_CASE_TOOL ]; then
|
||||
$CLEAR_CASE_TOOL catcs >> $SUMM_FILE
|
||||
fi
|
||||
print -u1 "###################################################\n" >> $SUMM_FILE
|
||||
|
||||
DATE=`date +"$BTAG_DFMT"`
|
||||
print -u1 "###################################################\n" >> $SUMM_FILE
|
||||
print -u1 "$BTAG_CMPL: $DATE\n" >> $SUMM_FILE
|
||||
print -u1 "###################################################\n" >> $SUMM_FILE
|
||||
|
||||
##########################################################################
|
||||
#
|
||||
# Complete the build summary and mail it or dump it to stdout
|
||||
#
|
||||
if [ "" != "$MAIL_LIST" ]; then
|
||||
mailx -s "$SUBJECT_BUILD_COMPLETE - $VIEW_TAG (`date $SUBJECT_DATE`)" "$MAIL_LIST" < $SUMM_FILE
|
||||
else
|
||||
cat $SUMM_FILE
|
||||
fi
|
||||
|
||||
#
|
||||
# Clean up temporary files and exit
|
||||
#
|
||||
do_exit 0
|
||||
Reference in New Issue
Block a user