diff options
author | root <root@lamia.panaceas.james.local> | 2015-12-19 14:18:43 +0000 |
---|---|---|
committer | root <root@lamia.panaceas.james.local> | 2015-12-19 14:18:43 +0000 |
commit | 71478fd62d8483483abb34609cdabb7f9cbadfd6 (patch) | |
tree | 37b8eaba1ffe2d5f775227911eb0ed6fdc3c9553 /hostTools/scripts/nightlybuild/voice | |
parent | 1a2238d1bddc823df06f67312d96ccf9de2893cc (diff) | |
download | bootloader-71478fd62d8483483abb34609cdabb7f9cbadfd6.tar.gz bootloader-71478fd62d8483483abb34609cdabb7f9cbadfd6.tar.bz2 bootloader-71478fd62d8483483abb34609cdabb7f9cbadfd6.zip |
Add hostTools from https://github.com/Noltari/cfe_bcm63xx
Diffstat (limited to 'hostTools/scripts/nightlybuild/voice')
25 files changed, 1559 insertions, 0 deletions
diff --git a/hostTools/scripts/nightlybuild/voice/ccLoadRules/CommEngine/cxcLoadRules.txt b/hostTools/scripts/nightlybuild/voice/ccLoadRules/CommEngine/cxcLoadRules.txt new file mode 100644 index 0000000..b1924ed --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/ccLoadRules/CommEngine/cxcLoadRules.txt @@ -0,0 +1,10 @@ +load \CommEngine\cfe +load \CommEngine\docs +load \CommEngine\hostTools +load \CommEngine\Makefile +load \CommEngine\release +load \CommEngine\toolChains +load \CommEngine\sgibcm_2_4_17 +load \CommEngine\targets +load \CommEngine\userapps +load \CommEngine\xChange diff --git a/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common/cxcLoadRules.txt b/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common/cxcLoadRules.txt new file mode 100644 index 0000000..b60daae --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common/cxcLoadRules.txt @@ -0,0 +1,108 @@ +load \ldx_apps\apps\buildHostLib.sh +load \ldx_apps\apps\chip3341_common/ +load \ldx_apps\apps\dsl_setenv.bat +load \ldx_apps\apps\dspApp3341 +load \ldx_apps\apps\dspApp3341_7231_729a_726/ +load \ldx_apps\apps\dspApp3341_faxr2 +load \ldx_apps\apps\dspApp3341_fxo_ext +load \ldx_apps\apps\dspApp3341_tdm_ext +load \ldx_apps\apps\dspApp3341_tdm_conf +load \ldx_apps\apps\dspApp3341_tdm_faxr2_ext +load \ldx_apps\apps\refApp_3341_common +load \ldx_apps\apps\refApp_3341_common_dsl_tdm +load \ldx_apps\apps\refApp_3341_common_dsl_fxo +load \ldx_apps\apps\dspApp3368/ +load \ldx_apps\apps\dspApp3368_super/ +load \ldx_apps\apps\dspApp6358/ +load \ldx_apps\apps\hausware_libs_gateway_distdsp/ +load \ldx_apps\apps\hausware_libs_gateway_distdsp_dsl_tdm +load \ldx_apps\apps\hausware_libs_gateway_distdsp_dsl_fxo +load \ldx_apps\apps\hausware_libs_gateway_disthost_33xx/ +load \ldx_apps\apps\hausware_libs_gateway_disthost_63xx/ +load \ldx_apps\apps\hausware_libs_gateway_disthost_6358/ +load \ldx_apps\apps\hausware_libs_gateway_disthost_63xx_tdm +load \ldx_apps\apps\hausware_libs_gateway_disthost_63xx_fxo +load \ldx_apps\apps\hausware_libs_gateway_disthost_63xx_dualdsp +load \ldx_apps\apps\hostApp_6348gw +load \ldx_apps\apps\ldxApps.mk +load \ldx_apps\apps\makefile +load \ldx_apps\apps\readme.txt +load \ldx_apps\apps\refApp_3341_common/ +load \ldx_apps\apps\setenv.bash +load \ldx_apps\apps\setenv.bat +load \ldx_apps\common +load \ldx_apps\makefile + +load \ldx_apps\common\inc +load \ldx_apps\common\source\hal_3341 +load \ldx_apps\common\source\hal_3341tdm +load \ldx_apps\common\source\hal_3341_hybrid +load \ldx_apps\common\source\hal_6358_dsp +load \ldx_apps\common\source\hal_3368_dsp +load \ldx_apps\common\source\resample +load \ldx_apps\common\commoncode.mak +load \ldx_apps\common\commoncode_targets.mak +load \ldx_apps\drivers + +#load \voice_res_gw +load \voice_res_gw\boardHal\inc +load \voice_res_gw\boardHal\src\bcm6348_Le9502FXO +load \voice_res_gw\boardHal\src\bcm6348_Le9500FXO +load \voice_res_gw\boardHal\src\bcm6348gw +load \voice_res_gw\boardHal\src\bcm6348gw_pcm +load \voice_res_gw\boardHal\src\bcm6358vw +load \voice_res_gw\boardHal\src\common +load \voice_res_gw\boardHal\src\common3368 +load \voice_res_gw\boardHal\src\common6358 +load \voice_res_gw\boardHal\src\common6348 +load \voice_res_gw\boardHal\src\sim +load \voice_res_gw\casCtl +load \voice_res_gw\classStm +load \voice_res_gw\cmtdCtl +load \voice_res_gw\codec +load \voice_res_gw\endpt +load \voice_res_gw\hdsp +load \voice_res_gw\heartbeat +load \voice_res_gw\inc +load \voice_res_gw\lhapi +load \voice_res_gw\pstnCtl +load \voice_res_gw\tpdCtl +load \voice_res_gw\voice_res_gw.mk +load \voice_res_gw\voice_res_gw_env.mk +load \voice_res_gw\voice_res_gw_targets.mk + +load \xchg_common\assert +load \xchg_common\blog +load \xchg_common\bos +load \xchg_common\containers +load \xchg_common\crt +load \xchg_common\mem +load \xchg_common\rules +load \xchg_common\sme +load \xchg_common\str +load \xchg_common\tools\bin +load \xchg_common\trace +load \xchg_common\xchg_common.mk +load \xchg_common\xchg_common_app_template.mk +load \xchg_common\xchg_common_env.mk +load \xchg_common\xchg_common_targets.mk + +#load \xchg_drivers +load \xchg_drivers\arch +load \xchg_drivers\bcm3341 +load \xchg_drivers\bcm6348 +load \xchg_drivers\bcm3368 +load \xchg_drivers\bcm6358 +load \xchg_drivers\bcm63xx +load \xchg_drivers\bcm33xx +load \xchg_drivers\inc +load \xchg_drivers\xchg_drivers.mk +load \xchg_drivers\xchg_drivers_env.mk +load \xchg_drivers\xchg_drivers_targets.mk + +load \prot_callctrl + +load \ldx_tools +load \ldx_hausware +#load \zOEMtools_gnu_mips_elf +#load \zOEMtools_zsp
\ No newline at end of file diff --git a/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common_ldx197/cxcLoadRules.txt b/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common_ldx197/cxcLoadRules.txt new file mode 100644 index 0000000..b59dfcd --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/ccLoadRules/dslx_common_ldx197/cxcLoadRules.txt @@ -0,0 +1,89 @@ +load \ldx_apps\makefile +load \ldx_apps\apps\buildHostLib.sh +load \ldx_apps\apps\dsl_setenv.bat +load \ldx_apps\apps\ldxApps.mk +load \ldx_apps\apps\makefile +load \ldx_apps\apps\readme.txt +load \ldx_apps\apps\setenv.bat +load \ldx_apps\apps\chip3341_common +load \ldx_apps\apps\dspApp3341 +load \ldx_apps\apps\dspApp3341_ext +load \ldx_apps\apps\dspApp3341_faxr +load \ldx_apps\apps\dspApp3341_faxrinternal +load \ldx_apps\apps\dspApp3341_fxo +load \ldx_apps\apps\dspApp3341_fxo_ext +load \ldx_apps\apps\dspApp3341_hybrid +load \ldx_apps\apps\dspApp3341_hybrid_ext +load \ldx_apps\apps\dspApp3341_hybrid_fxo_ext +load \ldx_apps\apps\dspApp3341_tdm +load \ldx_apps\apps\xtp6348_hausware_libs +load \ldx_apps\apps\xtp6348fxo_hausware_libs +load \ldx_apps\apps\xtp6348hybrid_hausware_libs +load \ldx_apps\apps\xtp6348hybrid_fxo_hausware_libs +load \ldx_apps\apps\xtp6348tdm_hausware_libs +load \ldx_apps\common\source\hal_3341 +load \ldx_apps\common\source\hal_3341_hybrid +load \ldx_apps\common\source\hal_3341tdm +load \ldx_apps\common\source\resample +load \ldx_apps\common\inc\dspImageArchive.h +load \ldx_apps\common\inc\hal3341.h +load \ldx_apps\common\inc\hal3341hybrid.h +load \ldx_apps\common\inc\hal3341tdm.h +load \ldx_apps\common\inc\hal_ipc.h +load \ldx_apps\common\inc\hal_ipc_slave.h +load \ldx_apps\common\inc\resample.h +load \ldx_apps\common\commoncode_targets.mak +load \ldx_apps\common\commoncode.mak +load \ldx_apps\drivers\drivers.mak +load \ldx_apps\drivers\drivers_targets.mak + +load \ldx_hausware\ldxhausware.cfg +load \ldx_hausware\makefile +load \ldx_hausware\hausware + +load \ldx_tools + +load \voice_res_gw\battCtl +load \voice_res_gw\boardHal\inc +load \voice_res_gw\boardHal\src\bcm6348gw +load \voice_res_gw\boardHal\src\bcm6345gw +load \voice_res_gw\boardHal\src\bcm6348gw_pcm +load \voice_res_gw\boardHal\src\bcm6348LE9502 +load \voice_res_gw\boardHal\src\bcm6348gw_hybrid +load \voice_res_gw\boardHal\src\bcm6348lv +load \voice_res_gw\boardHal\src\bcm6348_Le9502FXO +load \voice_res_gw\boardHal\src\bcm6348_Le9500FXO +load \voice_res_gw\boardHal\src\common +load \voice_res_gw\casCtl +load \voice_res_gw\classStm +load \voice_res_gw\codec +load \voice_res_gw\cmtdCtl +load \voice_res_gw\endpt +load \voice_res_gw\hdsp +load \voice_res_gw\inc +load \voice_res_gw\lhapi +load \voice_res_gw\pstnCtl +load \voice_res_gw\voice_res_gw.mk +load \voice_res_gw\voice_res_gw_env.mk +load \voice_res_gw\voice_res_gw_targets.mk + +load \xchg_common\assert +load \xchg_common\bos +load \xchg_common\containers +load \xchg_common\crt +load \xchg_common\mem +load \xchg_common\rules +load \xchg_common\sme +load \xchg_common\str +load \xchg_common\tools\bin +load \xchg_common\trace +load \xchg_common\xchg_common.mk +load \xchg_common\xchg_common_app_template.mk +load \xchg_common\xchg_common_env.mk +load \xchg_common\xchg_common_targets.mk + +load \xchg_drivers + +#load \zOEMtools_zsp + + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nb_ce_getsrc.sh b/hostTools/scripts/nightlybuild/voice/cxc_nb_ce_getsrc.sh new file mode 100644 index 0000000..45a24ab --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nb_ce_getsrc.sh @@ -0,0 +1,133 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nb_getsrc.sh +# Purpose: Gets the CxC source code form Source Control Database +# Arguments: $1 = 0 - get minnimum latest source code without labeling +# = 1 - label and get full source code +#------------------------------------------------------------------------------ + +if [ -z "${CXNB_LABEL}" ] +then + echo CXNB_LABEL not defined! + exit +fi + +export CXNB_BASECC_LOG_PATH=$(cygpath -u "${CXNB_BASECC_LOCAL_LOG_PATH}") +export CXNB_BASECC_SRC_PATH=$(cygpath -u "${CXNB_BASECC_LOCAL_SRC_PATH}") +export CXNB_BASECC_VIEW_PATH=$(cygpath -u "${CXNB_BASECC_LOCAL_VIEW_PATH}") +export CXNB_BASECC_CC_LRULES_CYGPATH=$(cygpath -u "${CXNB_BASECC_LRULES_PATH}") + +mkdir -p ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL} + +cxcFullLoad=$1 + +if [ "${cxcFullLoad}" = "0" ] +then + if [ "${CXNB_CFG_PREBUILD}" = "no" -o "${CXNB_CFG_PREBUILD_GETSRC}" = "no" ] + then + echo "Skipping prebuild source update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + exit + fi +else + if [ "${CXNB_CFG_BUILD}" = "no" -o "${CXNB_CFG_BUILD_GETSRC}" = "no" ] + then + echo "Skipping source update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + exit + fi +fi + +# echo "Removing directory at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +# rm -f -R ${CXNB_BASECC_SRC_PATH} +# echo "Finished Removing directory at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + +mkdir -p ${CXNB_BASECC_SRC_PATH} +# echo "Finished makeing new directories at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + +if [ "${cxcFullLoad}" = "1" ] +then + #echo "Labeling code at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + #ss label $/${VSS_PROJ_PATH} -L"CXNB_${CXNB_LABEL}" "-Cnightly build" -I-Y + #echo "Finished Labeling code at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + echo "Starting Full CC update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +else + echo "Starting Minimum CC update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +fi + +# Get the source from CC. Predefined load rules determine what gets loaded +cd ${CXNB_BASECC_VIEW_PATH} + #record baselines of build + echo " " >${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo "------------------------------------------------------------------------" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Nightly build Build Configuration: " >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo "------------------------------------------------------------------------" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo " " >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + cleartool lsstream -cview -fmt "Project %[project]p\nStream %[name]p\n" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Modifiable Components:" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + cleartool lsproject -cview -fmt "\t%[mod_comps]p\n" | sed -e 's/ /\n\t/g' | sort >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Recommended Baselines:" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + for baseline in `cleartool lsstream -cview -fmt "%[rec_bls]p"`; do cleartool lsbl -fmt "%[5]t(%[component]p) %[30]t$baseline\n" $baseline@\\rmna_projects ; done | sort >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Foundation Baselines:" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + for baseline in `cleartool lsstream -cview -fmt "%[found_bls]p"`; do cleartool lsbl -fmt "%[5]t(%[component]p) %[30]t$baseline\n" $baseline@\\rmna_projects ; done | sort >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + #update load rules in the config spec + + #get the original config spec + cleartool catcs >${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.txt + #extract the original load rules + if [ "${CXNB_CFG_CC_CONFIGSPEC_UPDATE}" = "yes" ] + then + loadRulesFile=${CXNB_BASECC_CC_LRULES_CYGPATH}/cxcLoadRules.txt + if [ -e "${loadRulesFile}" ] + then + updateRules=0; + grep '^load' ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.txt >${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_orig_lrules.txt + diff -b ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_orig_lrules.txt ${loadRulesFile} || updateRules=1 + rm -f ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_orig_lrules.txt + if [ "${updateRules}" = "1" ] + then + echo "CC Config Spec updated at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + #remove load rules from the original config spec + grep -v '^load' ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.txt >${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt + #append new load rules to the config spec + cat ${loadRulesFile}>>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt + #update the config spec + mv -f ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt . + cleartool setcs cc_new_cs.txt << EOF +y +EOF + mv -f ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.txt ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.old + mv -f ./cc_new_cs.txt ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/cc_ce_config_spec.txt + fi + else + echo "ERROR: Could not find default load rules ${loadRulesFile}" >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + echo + fi + fi + + #update the view + cleartool update -force -overwrite << EOF + y +EOF + +if [ "${cxcFullLoad}" = "1" ] +then + echo "Finished Full CC update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +else + echo "Finished Minimum CC update at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +fi + + +# copy everything to a build location (shorter path name) to avoid +# problems with long paths that some tools might have +echo "Copying files to build location started at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log +cp -f -R * ${CXNB_BASECC_SRC_PATH} +echo "Copying files to build location finished at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + +exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nb_getsrc.sh b/hostTools/scripts/nightlybuild/voice/cxc_nb_getsrc.sh new file mode 100644 index 0000000..64c75d1 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nb_getsrc.sh @@ -0,0 +1,133 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nb_getsrc.sh +# Purpose: Gets the CxC source code form Source Control Database +# Arguments: $1 = 0 - get minnimum latest source code without labeling +# = 1 - label and get full source code +#------------------------------------------------------------------------------ + +if [ -z "${CXNB_LABEL}" ] +then + echo CXNB_LABEL not defined! + exit +fi + +export CXNB_LOG_PATH=$(cygpath -u "${CXNB_LOCAL_LOG_PATH}") +export CXNB_SRC_PATH=$(cygpath -u "${CXNB_LOCAL_SRC_PATH}") +export CXNB_VIEW_PATH=$(cygpath -u "${CXNB_LOCAL_VIEW_PATH}") +export CXNB_CC_LRULES_CYGPATH=$(cygpath -u "${CXNB_CC_LRULES_PATH}") + +mkdir -p ${CXNB_LOG_PATH}/${CXNB_LABEL} + +cxcFullLoad=$1 + +if [ "${cxcFullLoad}" = "0" ] +then + if [ "${CXNB_CFG_PREBUILD}" = "no" -o "${CXNB_CFG_PREBUILD_GETSRC}" = "no" ] + then + echo "Skipping prebuild source update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + exit + fi +else + if [ "${CXNB_CFG_BUILD}" = "no" -o "${CXNB_CFG_BUILD_GETSRC}" = "no" ] + then + echo "Skipping source update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + exit + fi +fi + +# echo "Removing directory at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +# rm -f -R ${CXNB_SRC_PATH} +# echo "Finished Removing directory at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +mkdir -p ${CXNB_SRC_PATH} +# echo "Finished makeing new directories at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +if [ "${cxcFullLoad}" = "1" ] +then + #echo "Labeling code at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + #ss label $/${VSS_PROJ_PATH} -L"CXNB_${CXNB_LABEL}" "-Cnightly build" -I-Y + #echo "Finished Labeling code at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + echo "Starting Full CC update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +else + echo "Starting Minimum CC update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +fi + +# Get the source from CC. Predefined load rules determine what gets loaded +cd ${CXNB_VIEW_PATH} + #record baselines of build + echo " " >${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo "------------------------------------------------------------------------" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Nightly build Build Configuration: " >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo "------------------------------------------------------------------------" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + echo " " >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + cleartool lsstream -cview -fmt "Project %[project]p\nStream %[name]p\n" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Modifiable Components:" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + cleartool lsproject -cview -fmt "\t%[mod_comps]p\n" | sed -e 's/ /\n\t/g' | sort >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Recommended Baselines:" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + for baseline in `cleartool lsstream -cview -fmt "%[rec_bls]p"`; do cleartool lsbl -fmt "%[5]t(%[component]p) %[30]t$baseline\n" $baseline@\\rmna_projects ; done | sort >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + echo "Foundation Baselines:" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + for baseline in `cleartool lsstream -cview -fmt "%[found_bls]p"`; do cleartool lsbl -fmt "%[5]t(%[component]p) %[30]t$baseline\n" $baseline@\\rmna_projects ; done | sort >>${CXNB_LOG_PATH}/${CXNB_LABEL}/buildconfig.log 2>&1 + + #update load rules in the config spec + + #get the original config spec + cleartool catcs >${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.txt + #extract the original load rules + if [ "${CXNB_CFG_CC_CONFIGSPEC_UPDATE}" = "yes" ] + then + loadRulesFile=${CXNB_CC_LRULES_CYGPATH}/cxcLoadRules.txt + if [ -e "${loadRulesFile}" ] + then + updateRules=0; + grep '^load' ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.txt >${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_orig_lrules.txt + diff -b ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_orig_lrules.txt ${loadRulesFile} || updateRules=1 + rm -f ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_orig_lrules.txt + if [ "${updateRules}" = "1" ] + then + echo "CC Config Spec updated at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + #remove load rules from the original config spec + grep -v '^load' ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.txt >${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt + #append new load rules to the config spec + cat ${loadRulesFile}>>${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt + #update the config spec + mv -f ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_new_cs.txt . + cleartool setcs cc_new_cs.txt << EOF +y +EOF + mv -f ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.txt ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.old + mv -f ./cc_new_cs.txt ${CXNB_LOG_PATH}/${CXNB_LABEL}/cc_config_spec.txt + fi + else + echo "ERROR: Could not find default load rules ${loadRulesFile}" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + echo + fi + fi + + #update the view + cleartool update -force -overwrite << EOF + y +EOF + +if [ "${cxcFullLoad}" = "1" ] +then + echo "Finished Full CC update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +else + echo "Finished Minimum CC update at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +fi + + +# copy everything to a build location (shorter path name) to avoid +# problems with long paths that some tools might have +echo "Copying files to build location started at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log +cp -f -R * ${CXNB_SRC_PATH} +echo "Copying files to build location finished at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_app.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_app.bat new file mode 100644 index 0000000..4756559 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_app.bat @@ -0,0 +1,13 @@ +::------------------------------------------------------------------------------
+:: Broadcom Canada Ltd., Copyright 2001 - 2003
+::
+:: Filename: cxc_nbrt_app.bat
+:: Purpose: Nightly Build and Regression testing application script
+:: (builds target application and runs tests on it)
+:: Arguments: %1 - target CxC app to build and test
+:: %2 - target OS
+::------------------------------------------------------------------------------
+
+cmd.exe /c cxc_nbrt_build.bat %1 %2
+:: cmd.exe /c cxc_nbrt_test.bat %1 %2
+
diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_build.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_build.bat new file mode 100644 index 0000000..5ec6804 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_build.bat @@ -0,0 +1,33 @@ +::------------------------------------------------------------------------------
+:: Broadcom Canada Ltd., Copyright 2001 - 2003
+::
+:: Filename: cxc_nbrt_build.bat
+:: Purpose: CxC Nightly Build script (builds and saves CxC images)
+:: Arguments: %1 - target CxC app to build
+:: %2 - target OS to build the app for
+::------------------------------------------------------------------------------
+
+if "%2" == "" goto argsError
+
+set cxnb_build_target=%1
+set cxnb_build_os=%2
+
+:: Setup nbrt environment variables specific for this target
+call cxc_nbrt_cfg.bat %cxnb_build_target% %cxnb_build_os%
+
+if "%CXNB_CFG_BUILD%" == "no" goto theend
+
+bash -C lnx_nbrt_build.sh >> %CXNB_OUTPUT_DIR%\build.log
+
+goto theend
+
+:argsError
+echo cxc_nbrt_build error: Insufficient arguments arg1=%1; arg2=%2; >>%CXNB_OUTPUT_DIR%\build.log
+goto theend
+
+:theend
+set cxnb_build_target=
+set cxnb_build_os=
+set cxnb_local_output_dir=
+exit
+
diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_ce_postprocess.sh b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_ce_postprocess.sh new file mode 100644 index 0000000..2689b21 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_ce_postprocess.sh @@ -0,0 +1,129 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nbrt_postprocess.sh +# Purpose: Postprocess the nightly build and test logs +#------------------------------------------------------------------------------ + +if [ -z "${CXNB_LABEL}" ] +then + echo CXNB_LABEL not defined! + exit +fi + +cxcOsType=$1 + +export CXNB_BASECC_LOG_PATH=$(cygpath -u "${CXNB_BASECC_LOCAL_LOG_PATH}") +export CXNB_BASECC_LOCAL_SRC_PATH=$(cygpath -u "${CXNB_BASECC_LOCAL_SRC_PATH}") + +echo "Postprocessing at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + +mkdir -p ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/${cxcOsType} +cd ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/${cxcOsType} + +mkdir -p buildlogs +# mkdir -p deps/buildlogs +# mkdir -p debug +# mv -f *.map debug +# mv -f *_sym.bin debug +# mv -f *.txt buildlogs +# mv -f deps/*.txt deps/buildlogs + +# cp -f -v ${CXNB_BASECC_SRC_PATH}/cablex_tools/dev/callagent/callagent.exe ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/ +# cp -f -v ${CXNB_BASECC_SRC_PATH}/cablex_tools/dev/callagent/hhca.cfg ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/ +cp -f -v ${CXNB_BASECC_SRC_PATH}/update*.updt ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/ +cp -f -v ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build*.log ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs/ + + +if [ "${CXNB_CFG_SENDMAIL}" = "yes" ] +then + appendFiles= + attachments="build.log.gz cc_ce_config_spec.txt" + + if [ "${CXNB_CFG_BUILD_GETSRC}" = "yes" ] + then + appendFiles="${appendFiles} buildlogs/buildconfig.log" + fi + + echo $appendFiles + + recipients="vmarkovski@broadcom.com,jnicol@broadcom.com" + + echo "------------------------------------------------------------------------">email.txt + echo "CxC Nightly Build summary " >>email.txt + echo "------------------------------------------------------------------------">>email.txt + echo " " >>email.txt + # NOTE: The following greps are dependent on the printouts + # for the Linux commands through the expect script lnx_nbrt_basic_cmds.exp + total=`grep -c "The Linux command \"make PROFILE=9634.*GWV BRCM" buildlogs/build.log` + fail=`grep -c "The Linux command \"make PROFILE=9634.*GWV BRCM.*failed" buildlogs/build.log` + pass=`grep -c "The Linux command \"make PROFILE=9634.*GWV BRCM.*succeeded" buildlogs/build.log` + echo "Total of $total DSL CommEngine apps built: $pass passed, $fail failed. " >>email.txt + grep "The Linux command \"make PROFILE=9634.*GWV BRCM.*failed" buildlogs/build.log >>email.txt + echo " " >>email.txt + grep "The Linux command \"make PROFILE=9634.*GWV BRCM.*succeeded" buildlogs/build.log >>email.txt + echo " " >>email.txt + + echo "------------------------------------------------------------------------">>email.txt + echo "Nightly build auto-update activity " >>email.txt + echo "------------------------------------------------------------------------">>email.txt + echo " " >>email.txt + grep "CC Config Spec" ./../build.log >> email.txt || echo "No config spec update." >> email.txt + echo " " >>email.txt + + if [ -n "${appendFiles}" ] + then + for file in ${appendFiles} + do + if [ -e "${file}" ] + then + cat ${file} >> email.txt + else + echo "POSTPROCESSING ERROR: could not find ${file}!" >>email.txt + fi + done + fi + echo " " >>email.txt + + if [ -e "./../cc_config_spec.old" ] + then + attachments="${attachments} cc_config_spec.old" + fi + + echo "------------------------------------------------------------------------">>email.txt + echo "Nightly build images, logs and source code for ${CXNB_EMAIL_DATE}:" >> email.txt + echo "------------------------------------------------------------------------">>email.txt + echo "Last night's nightly build source code can be found at:" >> email.txt + echo $(cygpath -w //${CXNB_BASECC_LOCAL_SRC_PATH}) >> email.txt + echo "Nightly build images can be found at" >> email.txt + echo $(cygpath -w //${CXNB_BASECC_LOCAL_SRC_PATH}/images) >> email.txt + # echo "Nightly build map files and symbol table images can be found at" >> email.txt + # echo $(cygpath -w //${UNIX_TESTCOMPUTER}/cxnb/cxlogs/${CXNB_UCMCC_PROJECT}/${CXNB_LABEL}/${cxcOsType}/debug) >> email.txt + echo "Nightly build logs can be found at" >> email.txt + echo $(cygpath -w //${CXNB_BASECC_LOCAL_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs) >> email.txt + # echo $(cygpath -w //${CXNB_BASECC_LOCAL_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/deps/buildlogs) >> email.txt + + #note: blat doesnt work from UNC directories so copy everything to a local directory + + echo "Finished postprocessing at: " `date +"%T"` >>${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs/build.log + gzip ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs/build.log + gzip ${CXNB_BASECC_LOG_PATH}/${CXNB_LABEL}/build.log + + for file in ${attachments} + do + cp -f ./../${file} . + done + + attachList="" + for file in ${attachments} + do + attachList="${attachList} -attach ${file}" + done + + blat email.txt -t ${recipients} -s "${CXNB_BASECC_PROJECT} Nightly Build results for ${CXNB_EMAIL_DATE}" ${attachList} + rm -f ${attachments} +fi + +exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_cfg.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_cfg.bat new file mode 100644 index 0000000..fc288c1 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_cfg.bat @@ -0,0 +1,117 @@ +::------------------------------------------------------------------------------
+:: Broadcom Canada Ltd., Copyright 2001 - 2003
+::
+:: Filename: cxc_nbrt_cfg.bat
+:: Purpose: Configuration file for CablexChange Nightly Build & Regression
+:: Testing scripts
+:: Arguments: %1 - CxC target to set the environment for
+:: %2 - OS to set the environment for
+::------------------------------------------------------------------------------
+set cxc_nbrt_cfg_target=%1
+set cxc_nbrt_cfg_os=%2
+
+:: List of valid CxC app targets, separated by commas
+set cxnb_cxc_target_list=bcm6345gw
+
+::------------------------------------------------------------------------------
+:: Default Target Build/Test configuration
+::------------------------------------------------------------------------------
+:: prebuild - prebuild process (make deps, libraries, ...)
+:: if prebuild=yes the following is also configurable
+:: getsrc - get source from source control database
+:: deps - make CM-side dependencies
+:: resolv - build MTA resolver library
+:: hoth - build hausware library
+::
+:: build - Build the test images
+:: if build=yes the following is also configurable
+:: getsrc - get source from source control database
+:: cmsym - build symbol table image
+::
+:: test - Test the test images
+:: if test=yes the following is also configurable
+:: testlabel - cxlogs subfolder to grab the images from, defaults to CXNB_LABEL
+:: (example: CXNB_CFG_TESTLABEL=03_05_07.15_25_56 will force the testing
+:: portion to use images form cxlogs/03_05_07.15_25_56 for testing)
+:: note: this is normaly used when CXNB_CFG_BUILD=no
+:: abacus - Abacus based tests
+:: pc - PacketCable test scripts (Tcl)
+:: data - data only tests
+:: datavoice - simultaneous data and voice tests
+set CXNB_CFG_OUTPUTDIR=
+set CXNB_CFG_PREBUILD=no
+set CXNB_CFG_PREBUILD_GETSRC=yes
+set CXNB_CFG_PREBUILD_DEPS=no
+set CXNB_CFG_PREBUILD_RESOLV=no
+set CXNB_CFG_PREBUILD_HOTH=no
+set CXNB_CFG_BUILD=yes
+set CXNB_CFG_BUILD_GETSRC=yes
+set CXNB_CFG_BUILD_CMSYM=yes
+set CXNB_CFG_TEST=no
+set CXNB_CFG_TESTLABEL=
+set CXNB_CFG_TEST_ABACUS=yes
+set CXNB_CFG_TEST_PC=yes
+set CXNB_CFG_TEST_DATA=yes
+set CXNB_CFG_TEST_DATAVOICE=yes
+set CXNB_CFG_SENDMAIL=yes
+set CXNB_CFG_CC_CONFIGSPEC_UPDATE=yes
+
+:: empty target indicates to use default config settings
+if "%cxc_nbrt_cfg_target%" == "" goto theend
+
+:: go to custom target configuration
+for %%t in (%cxnb_cxc_target_list%) do if "%%t" == "%cxc_nbrt_cfg_target%" goto config_%%t
+
+echo "cxc_nbrt_cfg ERROR: Unsuported cxc target=%cxc_nbrt_cfg_target%!"
+set errorlevel=
+set errorlevel 2>NUL:
+goto :eof
+
+::------------------------------------------------------------------------------
+:: Custom Target Build/Test configurations
+:: (overrides default target configuration)
+::------------------------------------------------------------------------------
+:config_bcm3348vcm
+set CXNB_CFG_OUTPUTDIR=bcm93348_propane
+set CXNB_CFG_PREBUILD=yes
+set CXNB_CFG_PREBUILD_RESOLV=yes
+set CXNB_CFG_PREBUILD_DEPS=no
+set CXNB_CFG_TEST=no
+goto theend
+
+:config_bcm3348vcm_euro
+set CXNB_CFG_OUTPUTDIR=bcm93348_propane_eu
+set CXNB_CFG_TEST=yes
+goto theend
+
+:config_bcm3348vcm_bv16
+:config_bcm3348vcm_g723
+:config_bcm3348vcm_g726
+:config_bcm3348vcm_g729a
+:config_bcm3348vcm_bv32
+set CXNB_CFG_OUTPUTDIR=bcm93348_propane
+goto theend
+
+:config_bcm3351vcm
+set CXNB_CFG_OUTPUTDIR=bcm93351_propane
+set CXNB_CFG_PREBUILD_DEPS=yes
+goto theend
+
+:config_bcm3351svl
+set CXNB_CFG_OUTPUTDIR=bcm93351_propane
+goto theend
+
+:config_bcm3352v_g723
+:config_bcm3352v
+set CXNB_CFG_OUTPUTDIR=bcm93352_propane
+set CXNB_CFG_PREBUILD_DEPS=yes
+goto theend
+
+:theend
+set cxc_nbrt_cfg_target=
+set cxc_nbrt_cfg_os=
+
+
+
+
+
diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_genlabel.sh b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_genlabel.sh new file mode 100644 index 0000000..51a79ba --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_genlabel.sh @@ -0,0 +1,34 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nbrt_genlabel.sh +# Purpose: Generates a set file for the CXNB_LABEL and CXNB_OUTPUT_DIR env. +# variables used by Nightly build and Regression testing scripts +#------------------------------------------------------------------------------ + +setFileName=cxc_nbrt_setlabel.bat + +#remove old setfile +rm -f ${setFileName} + +#Take snapshot of date and time to set up logging. +DATE=`date +"%y_%m_%d"` +TIME=`date +"%H_%M_%S"` +LABEL=${DATE}.${TIME}.${CXNB_LABEL_SUFFIX} +EMAIL_LABEL=`date +"%A, %B %e %Y, %T"` + +echo ":: ------------------------------------------------------------------------------" >>${setFileName} +echo ":: Broadcom Canada Ltd., Copyright 2001 - 2003" >>${setFileName} +echo ":: " >>${setFileName} +echo ":: Filename: cxc_nbrt_setlabel.bat" >>${setFileName} +echo ":: Purpose: Sets CXNB_LABEL and CXNB_OUTPUT_DIR environment variables" >>${setFileName} +echo ":: needed for the Nightly Build and Regression Testing scripts" >>${setFileName} +echo ":: NOTE: This is an automatically generated file." >>${setFileName} +echo ":: Do *NOT* edit manually!" >>${setFileName} +echo ":: ------------------------------------------------------------------------------" >>${setFileName} +echo " " >>${setFileName} +echo "set CXNB_LABEL=${LABEL}" >>${setFileName} +echo "set CXNB_EMAIL_DATE=${EMAIL_LABEL}" >>${setFileName} +echo "set CXNB_OUTPUT_DIR=${CXNB_BASECC_LOCAL_LOG_PATH}\\${LABEL}" >>${setFileName} + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main.bat new file mode 100644 index 0000000..43f62fd --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main.bat @@ -0,0 +1,37 @@ +::------------------------------------------------------------------------------
+:: Broadcom Canada Ltd., Copyright 2001 - 2003
+::
+:: Filename: cxc_nbrt_main.bat
+:: Purpose: Main script for CxC Nightly Build and Regression Testing
+::------------------------------------------------------------------------------
+
+
+:: Generate a set file to setup logging and output folder
+bash -C cxc_nbrt_genlabel.sh
+
+:: Run the set file to setup logging and output folder
+call cxc_nbrt_setlabel.bat
+
+::Load the Default Config settings for CxC Nightly build/regression testing
+call cxc_nbrt_cfg.bat
+
+:: Linux pre-build
+bash -C lnx_nbrt_prepare.sh
+
+::Build: label&download source code from Source Control (CommEngine)
+bash -C cxc_nb_ce_getsrc.sh 1
+
+::Build: label&download source code from Source Control (dslx_common)
+bash -C cxc_nb_getsrc.sh 1
+
+::Build&test: make target apps and launch the tests
+for %%t in (%cxnb_cxc_target_list%) do call cxc_nbrt_app.bat %%t linux
+
+:: Postprocess the nightly and regression test logs (CommEngine)
+bash -C cxc_nbrt_ce_postprocess.sh linux
+
+:: Postprocess the nightly and regression test logs (dslx_common)
+bash -C cxc_nbrt_postprocess.sh linux
+
+::exit
+
diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main_test.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main_test.bat new file mode 100644 index 0000000..0a8831b --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_main_test.bat @@ -0,0 +1,12 @@ +::------------------------------------------------------------------------------
+:: Broadcom Canada Ltd., Copyright 2001 - 2003
+::
+:: Filename: cxc_nbrt_main.bat
+:: Purpose: Main script for CxC Nightly Build and Regression Testing
+::------------------------------------------------------------------------------
+
+
+call cxc_nbrt_setenv.bat
+
+bash -C lnx_nbrt_test.sh 1
+
diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_postprocess.sh b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_postprocess.sh new file mode 100644 index 0000000..95b6e24 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_postprocess.sh @@ -0,0 +1,125 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nbrt_postprocess.sh +# Purpose: Postprocess the nightly build and test logs +#------------------------------------------------------------------------------ + +if [ -z "${CXNB_LABEL}" ] +then + echo CXNB_LABEL not defined! + exit +fi + +cxcOsType=$1 + +export CXNB_LOG_PATH=$(cygpath -u "${CXNB_LOCAL_LOG_PATH}") +export CXNB_SRC_PATH=$(cygpath -u "${CXNB_LOCAL_SRC_PATH}") + +echo "Postprocessing at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +mkdir -p ${CXNB_LOG_PATH}/${CXNB_LABEL}/${cxcOsType} +cd ${CXNB_LOG_PATH}/${CXNB_LABEL}/${cxcOsType} + +mkdir -p buildlogs +# mkdir -p deps/buildlogs +# mkdir -p debug +# mv -f *.map debug +# mv -f *_sym.bin debug +# mv -f *.txt buildlogs +# mv -f deps/*.txt deps/buildlogs + +# cp -f -v ${CXNB_SRC_PATH}/cablex_tools/dev/callagent/callagent.exe ${CXNB_LOG_PATH}/${CXNB_LABEL}/ +# cp -f -v ${CXNB_SRC_PATH}/cablex_tools/dev/callagent/hhca.cfg ${CXNB_LOG_PATH}/${CXNB_LABEL}/ +cp -f -v ${CXNB_SRC_PATH}/update*.updt ${CXNB_LOG_PATH}/${CXNB_LABEL}/ +cp -f -v ${CXNB_LOG_PATH}/${CXNB_LABEL}/build*.log ${CXNB_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs/ + + +if [ "${CXNB_CFG_SENDMAIL}" = "yes" ] +then + appendFiles= + attachments="build.log cc_config_spec.txt" + + if [ "${CXNB_CFG_BUILD_GETSRC}" = "yes" ] + then + appendFiles="${appendFiles} buildlogs/buildconfig.log" + fi + + echo $appendFiles + + recipients="vmarkovski@broadcom.com,jnicol@broadcom.com" + + echo "------------------------------------------------------------------------">email.txt + echo "CxC Nightly Build summary " >>email.txt + echo "------------------------------------------------------------------------">>email.txt + echo " " >>email.txt + # total=`grep -c "cxc build" buildlogs/build_summary.txt` + # fail=`grep -c FAILED buildlogs/build_summary.txt` + # pass=`grep -c successfull buildlogs/build_summary.txt` + # echo "Total of $total cxc apps built: $pass pass, $fail failed. " >>email.txt + # echo " " >>email.txt + # grep FAILED buildlogs/build_summary.txt >>email.txt + # echo " " >>email.txt + # grep successfull buildlogs/build_summary.txt >>email.txt + # echo " " >>email.txt + + echo "------------------------------------------------------------------------">>email.txt + echo "Nightly build auto-update activity " >>email.txt + echo "------------------------------------------------------------------------">>email.txt + echo " " >>email.txt + grep "CC Config Spec" ./../build.log >> email.txt || echo "No config spec update." >> email.txt + echo " " >>email.txt + + if [ -n "${appendFiles}" ] + then + for file in ${appendFiles} + do + if [ -e "${file}" ] + then + cat ${file} >> email.txt + else + echo "POSTPROCESSING ERROR: could not find ${file}!" >>email.txt + fi + done + fi + echo " " >>email.txt + + if [ -e "./../cc_config_spec.old" ] + then + attachments="${attachments} cc_config_spec.old" + fi + + echo "------------------------------------------------------------------------">>email.txt + echo "Nightly build images, logs and source code for ${CXNB_EMAIL_DATE}:" >> email.txt + echo "------------------------------------------------------------------------">>email.txt + echo "Last night's nightly build source code can be found at:" >> email.txt + echo $(cygpath -w //${CXNB_LOCAL_SRC_PATH}) >> email.txt + echo "Nightly build images can be found at" >> email.txt + echo $(cygpath -w //${CXNB_BASECC_LOCAL_SRC_PATH}/images) >> email.txt + # echo "Nightly build map files and symbol table images can be found at" >> email.txt + # echo $(cygpath -w //${UNIX_TESTCOMPUTER}/cxnb/cxlogs/${CXNB_UCMCC_PROJECT}/${CXNB_LABEL}/${cxcOsType}/debug) >> email.txt + echo "Nightly build logs can be found at" >> email.txt + echo $(cygpath -w //${CXNB_LOCAL_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/buildlogs) >> email.txt + # echo $(cygpath -w //${CXNB_LOCAL_LOG_PATH}/${CXNB_LABEL}/${cxcOsType}/deps/buildlogs) >> email.txt + + #note: blat doesnt work from UNC directories so copy everything to a local directory + for file in ${attachments} + do + cp -f ./../${file} . + done + + attachList="" + for file in ${attachments} + do + attachList="${attachList} -attacht ${file}" + done + + blat email.txt -t ${recipients} -s "${CXNB_UCMCC_PROJECT} Nightly Build results for ${CXNB_EMAIL_DATE}" ${attachList} + rm -f ${attachments} +fi + +echo "Finished postprocessing at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log + +exit + diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_prebuild.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_prebuild.bat new file mode 100644 index 0000000..fd7e6a1 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_prebuild.bat @@ -0,0 +1,140 @@ +::------------------------------------------------------------------------------
+:: Broadcom Canada Ltd., Copyright 2001 - 2003
+::
+:: Filename: cxc_nbrt_prebuild.bat
+:: Purpose: CxC Nightly pre-build script (makes dependancies and libraries)
+:: Arguments: %1 - target CxC app to pre-build
+:: %2 - target OS to pre-build the app for
+::------------------------------------------------------------------------------
+
+if "%2" == "" goto argsError
+
+set cxnb_preapp_target=%1
+set cxnb_preapp_os=%2
+
+:: Setup nbrt environment variables specific for this target
+call cxc_nbrt_cfg.bat %cxnb_preapp_target% %cxnb_preapp_os%
+
+if "%CXNB_CFG_PREBUILD%" == "no" goto skipprebuild
+
+set cxnb_prebuild_output_dir=%CXNB_OUTPUT_DIR%\%cxnb_preapp_os%\deps
+mkdir %cxnb_prebuild_output_dir%
+
+:: Set the CxC build environment
+cd /D %CXNB_LOCAL_SRC_PATH%\cablex
+call gen.bat %cxnb_preapp_os% %CXNB_TORNADO_PATH%
+call set_%cxnb_preapp_os%.bat
+
+if "%CXNB_CFG_PREBUILD_DEPS%" == "no" goto skipdeps
+
+:: Check-out target dependancies
+cd /D %CXNB_LOCAL_SRC_PATH%\cablex\src\cm_v2\CMAPP_DOCSIS1.0\%cxnb_preapp_os%
+cd /D %CXNB_CFG_OUTPUTDIR%
+copy /Y makefile.deps makefile.old
+del /F makefile.deps
+
+:: *** Make the CM deps for CxC app ***
+cd /D %CXNB_LOCAL_SRC_PATH%\cablex\apps\%cxnb_preapp_target%
+echo Started dependancy make for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log
+make cm_deps >%cxnb_prebuild_output_dir%\%cxnb_preapp_target%_propane_deps.txt 2>&1
+echo Completed dependancy make for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log
+
+:: Save and check-in the new target dependancies
+cd /D %CXNB_LOCAL_SRC_PATH%\cablex\src\cm_v2\CMAPP_DOCSIS1.0\%cxnb_preapp_os%\%CXNB_CFG_OUTPUTDIR%
+copy /Y makefile.deps %cxnb_prebuild_output_dir%\makefile_%cxnb_preapp_target%_propane.deps
+if not exist makefile.old goto skipDepsCheckin
+if not exist makefile.deps goto skipDepsCheckin
+
+:: Assume the dependencies have not changed
+set cxnb_makefile_deps_different=no
+
+:: Compare the new deps with the old ones, if they differ set the flag
+cleardiff -status_only -blank_ignore makefile.deps makefile.old || set cxnb_makefile_deps_different=yes
+
+:: Checkin the new deps if its different
+if "%cxnb_makefile_deps_different%" == "no" goto skipDepsCheckin
+
+:: Checkin the new CxC app dependencies
+mkdir %CXNB_LOCAL_VIEW_PATH%\cablex\src\cm_v2\CMAPP_DOCSIS1.0\%cxnb_preapp_os%\%CXNB_CFG_OUTPUTDIR%
+cd /D %CXNB_LOCAL_VIEW_PATH%\cablex\src\cm_v2\CMAPP_DOCSIS1.0\%cxnb_preapp_os%\%CXNB_CFG_OUTPUTDIR%
+cleartool setactivity -nc Nightly_CXNB_%CXNB_UCMCC_PROJECT%_Updates
+cleartool checkout -nc -nquery makefile.deps
+cp -f %CXNB_LOCAL_SRC_PATH%\cablex\src\cm_v2\CMAPP_DOCSIS1.0\%cxnb_preapp_os%\%CXNB_CFG_OUTPUTDIR%\makefile.deps .
+cleartool checkin -nc makefile.deps
+
+:: Set increment baseline flag
+set CXNB_UPDATE_BASELINE="yes"
+:skipDepsCheckin
+
+:: Post-process dependancies
+cd /D %cxnb_prebuild_output_dir%
+bash -C cxwarnerrorgrep.sh %cxnb_preapp_target%_propane_deps makefile_%cxnb_preapp_target%_propane.deps
+goto resolv
+
+:skipdeps
+echo Skiping dependancy build for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log
+
+:resolv
+if "%CXNB_CFG_PREBUILD_RESOLV%" == "no" goto skipresolv
+
+:: Check-out resolver library
+cd /D %CXNB_LOCAL_SRC_PATH%\cablex\lib\%cxnb_preapp_os%
+copy /Y libresolv.a libresolv.old
+
+:: Build the resolver library
+cd /D %CXNB_LOCAL_SRC_PATH%\cablex\apps\%cxnb_preapp_target%
+make clean_resolv >%cxnb_prebuild_output_dir%\mta_resolv.txt 2>&1
+echo Started resolver library make for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log
+make resolv >>%cxnb_prebuild_output_dir%\mta_resolv.txt 2>&1
+echo Completed resolver library make for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log
+
+:: Save and check-in the new resolver library
+cd /D %CXNB_LOCAL_SRC_PATH%\cablex\lib\%cxnb_preapp_os%
+copy /Y libresolv.a %cxnb_prebuild_output_dir%\libresolv.a
+if not exist libresolv.a goto skipResolvCheckin
+if not exist libresolv.old goto skipResolvCheckin
+
+:: Assume the library has not changed
+set cxnb_resolv_different=no
+
+:: Compare the new lib with the old one, if they differ set the flag
+rawcmp.exe libresolv.a libresolv.old || set cxnb_resolv_different=yes
+
+:: Checkin the new lib if its different
+if "%cxnb_resolv_different%" == "no" goto skipResolvCheckin
+
+:: Checkin the new resolver library
+mkdir %CXNB_LOCAL_VIEW_PATH%\cablex\lib\VxWorks
+cd /D %CXNB_LOCAL_VIEW_PATH%\cablex\lib\VxWorks
+cleartool setactivity -nc Nightly_CXNB_%CXNB_UCMCC_PROJECT%_Updates
+cleartool checkout -nc -nquery libresolv.a
+cp -f %CXNB_LOCAL_SRC_PATH%\cablex\lib\%cxnb_preapp_os%\libresolv.a .
+cleartool checkin -nc libresolv.a
+
+:: Set increment baseline flag
+set CXNB_UPDATE_BASELINE="yes"
+:skipResolvCheckin
+
+:: Post-process resolver build
+cd /D %cxnb_prebuild_output_dir%
+bash -C cxwarnerrorgrep.sh mta_resolv libresolv.a
+goto theend
+
+:argsError
+echo cxc_nbrt_prebuild error: Insufficient arguments arg1=%1; arg2=%2; >>%CXNB_OUTPUT_DIR%\build.log
+goto theend
+
+:skipprebuild
+echo Skiping prebuild for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log
+goto theend
+
+:skipresolv
+echo Skiping resolver build for %cxnb_preapp_target% %cxnb_preapp_os% >>%CXNB_OUTPUT_DIR%\build.log
+goto theend
+
+:theend
+set cxnb_preapp_target=
+set cxnb_preapp_os=
+set cxnb_prebuild_output_dir=
+set cxnb_resolv_different=
+exit
diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_setenv.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_setenv.bat new file mode 100644 index 0000000..6a3fab2 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_setenv.bat @@ -0,0 +1,65 @@ +::------------------------------------------------------------------------------
+:: Broadcom Canada Ltd., Copyright 2001 - 2003
+::
+:: Filename: cxc_nbrt_setenv.bat
+:: Purpose: Setting up of environment variables used in the other
+:: batch files and shell scripts.
+::
+:: NOTE: This is probably the only file that you will need
+:: to modify to enable nightly builds.
+::------------------------------------------------------------------------------
+
+set CXNB_UCMCC_PROJECT=dslx_common
+set CXNB_BASECC_PROJECT=CommEngine
+set CXNB_LABEL_SUFFIX=dslx
+
+:: CUSTOMIZE
+:: Enter the name or the IP address of the nightly build computer,
+:: the username and password,
+:: and the root password for the test computer
+SET UNIX_TESTCOMPUTER=ip_address_of_the_unix_box
+set UNIX_USERNAME=username_for_the_unix_box
+set UNIX_USERPASS=password_for_the_unix_box
+set UNIX_ROOTPASS=root_password_for_the_unix_box
+
+:: CUSTOMIZE
+:: Enter the root of the CommEngine view (one level above CommEngine directory) in MSDOS style
+set CXNB_BASECC_VIEW_ROOT=\\%UNIX_TESTCOMPUTER%\vmarkovski\views\nb_view
+
+:: CUSTOMIZE
+:: Enter the path to the nightly build tools (blat, psexec, etc.)
+set CXNB_TOOLS_PATH=c:\nb\tools
+
+:: CUSTOMIZE
+:: Enter the path of the directory from where
+:: the nightly build scripts are launched
+set CXNB_RUN_PATH=V:\views\irvine_view\%CXNB_BASECC_PROJECT%\hostTools\scripts\nightlybuild\voice
+
+:: CUSTOMIZE
+:: Make sure bash, build scripts and ldx_tools are in the PATH
+set PATH=c:\cygwin\bin;%PATH%;%CXNB_RUN_PATH%;%CXNB_LDX_TOOLS_PATH%;%CXNB_TOOLS_PATH%
+
+:: CUSTOMIZE
+:: Enter the root of the CommEngine view (one level above CommEngine directory) in UNIX style
+set UNIX_CXNB_BASECC_VIEW_ROOT=/home/vmarkovski/views/nb_view
+
+set UNIX_CXNB_BASECC_LOCAL_VIEW_PATH=%UNIX_CXNB_BASECC_VIEW_ROOT%/%CXNB_BASECC_PROJECT%
+set UNIX_CXNB_BASECC_LOCAL_SRC_PATH=%UNIX_CXNB_BASECC_VIEW_ROOT%/%CXNB_BASECC_PROJECT%_build
+
+:: Variables for base ClearCase projects
+set CXNB_BASECC_LOCAL_VIEW_PATH=%CXNB_BASECC_VIEW_ROOT%\%CXNB_BASECC_PROJECT%
+set CXNB_BASECC_LOCAL_SRC_PATH=%CXNB_BASECC_VIEW_ROOT%\%CXNB_BASECC_PROJECT%_build
+set CXNB_BASECC_LRULES_PATH=%CXNB_RUN_PATH%\ccLoadRules\%CXNB_BASECC_PROJECT%
+set CXNB_BASECC_LOCAL_LOG_PATH=%CXNB_BASECC_VIEW_ROOT%\log\%CXNB_BASECC_PROJECT%
+
+:: Variables for UCM ClearCase projects
+:: CUSTOMIZE
+:: For the variable CXNB_LOCAL_VIEW_PATH, enter to root of the UCM view
+set CXNB_LOCAL_VIEW_PATH=%CXNB_BASECC_LOCAL_VIEW_PATH%\xChange\rmna_nb_%CXNB_UCMCC_PROJECT%_integration_sv
+set CXNB_LOCAL_SRC_PATH=%CXNB_BASECC_LOCAL_SRC_PATH%\xChange\%CXNB_UCMCC_PROJECT%
+set CXNB_CC_LRULES_PATH=%CXNB_RUN_PATH%\ccLoadRules\%CXNB_UCMCC_PROJECT%
+set CXNB_LOCAL_LOG_PATH=%CXNB_BASECC_VIEW_ROOT%\log\%CXNB_UCMCC_PROJECT%
+
+:: Initialize baseline update flag to no
+set CXNB_UPDATE_BASELINE="no"
+
diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_start.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_start.bat new file mode 100644 index 0000000..11af566 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_start.bat @@ -0,0 +1,28 @@ +::------------------------------------------------------------------------------
+:: Broadcom Canada Ltd., Copyright 2001 - 2003
+::
+:: Filename: cxc_nbrt_start.bat
+:: Purpose: Startup script for CxC Nightly Build and Regression Testing
+::------------------------------------------------------------------------------
+
+echo ON
+
+::Set the environment for CxC Nightly build/regression testing
+call cxc_nbrt_setenv.bat
+
+mkdir %CXNB_BASECC_VIEW_ROOT%\log
+set CXNB_MAIN_LOGFILE=%CXNB_BASECC_VIEW_ROOT%\log\cxc_nbrt_main.log
+
+echo "cxc_nbrt_start.bat started" > %CXNB_MAIN_LOGFILE%
+echo. >> %CXNB_MAIN_LOGFILE%
+call cxc_nbrt_main.bat >> %CXNB_MAIN_LOGFILE% 2>&1
+echo ON
+echo. >> %CXNB_MAIN_LOGFILE%
+echo "cxc_nbrt_start.bat finished" >> %CXNB_MAIN_LOGFILE%
+
+echo ""
+echo "UPDATE & BUILD FINISHED !!!"
+echo ""
+sleep 10
+
+exit
\ No newline at end of file diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_test.bat b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_test.bat new file mode 100644 index 0000000..9a558fb --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_test.bat @@ -0,0 +1,62 @@ +::------------------------------------------------------------------------------
+:: Broadcom Canada Ltd., Copyright 2001 - 2003
+::
+:: Filename: cxc_nbrt_test.bat
+:: Purpose: Entry point for CxC Nightly Regression Testing
+:: Arguments: %1 - target platform to run the tests on
+:: %2 - target OS to use for testing
+::------------------------------------------------------------------------------
+
+if "%1" == "" goto argsError
+if "%2" == "" goto argsError
+
+set cxrt_test_target=%1
+set cxrt_test_os=%2
+
+if "%cxrt_test_os%" == "vxworks" goto vxworks
+echo "CXC_NBRT_TEST ERROR: Unsupported OS=%cxrt_test_os%"
+goto theend
+
+:vxworks
+
+:: Setup nbrt environment variables specific for this target
+call cxc_nbrt_cfg.bat %cxrt_test_target% %cxrt_test_os%
+
+if "%CXNB_CFG_TEST%" == "no" goto theend
+
+set TEST_SRV_COMPUTER_NAME=LBRMNA-CEXCH02
+
+del /F /Q \\%TEST_SRV_COMPUTER_NAME%\cxnt\incoming\*
+
+:: Check if there is an image for this platform ready after the build
+
+if "%CXNB_CFG_TESTLABEL%" == "" set CXNB_CFG_TESTLABEL=%CXNB_LABEL%
+
+if exist %CXNB_LOCAL_LOG_PATH%\%CXNB_CFG_TESTLABEL%\%cxrt_test_os%\vxram_sto_%cxrt_test_target%.bin goto copyToTestServer
+echo "CXC_NBRT_TEST ERROR: No image %CXNB_OUTPUT_DIR%\%cxrt_test_os%\vxram_sto_%cxrt_test_target%.bin. Could not run Regression tests!"
+goto theend
+
+:copyToTestServer
+
+:: copy the test image
+copy /Y %CXNB_LOCAL_LOG_PATH%\%CXNB_CFG_TESTLABEL%\%cxrt_test_os%\vxram_sto_%cxrt_test_target%.bin \\%TEST_SRV_COMPUTER_NAME%\cxnt\incoming
+
+:: create and copy the configuration file for regression testing
+more cxc_nbrt_cfg.bat >cxc_rt_cfg.bat
+more cxc_nbrt_setlabel.bat >>cxc_rt_cfg.bat
+copy /Y cxc_rt_cfg.bat \\%TEST_SRV_COMPUTER_NAME%\cxnt\incoming
+
+:: spawn the test on the remote test server
+psexec \\%TEST_SRV_COMPUTER_NAME% -s -i c:\cxnt\spawnTestServer.bat %cxrt_test_target% vxram_sto_%cxrt_test_target%.bin
+
+goto theend
+
+:argsError
+echo cxc_nbrt_test error: Insufficient arguments arg1=%1; arg2=%2;
+goto theend
+
+:theend
+set cxrt_test_target=
+set cxrt_test_os=
+exit
+
diff --git a/hostTools/scripts/nightlybuild/voice/cxc_nbrt_updatebaseline.sh b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_updatebaseline.sh new file mode 100644 index 0000000..c50e72b --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxc_nbrt_updatebaseline.sh @@ -0,0 +1,18 @@ +#!/bin/bash +#------------------------------------------------------------------------------ +# Broadcom Canada Ltd., Copyright 2001-2003 +# +# Filename: cxc_nbrt_updatebaseline.sh +# Purpose: Postprocess the nightly build and test logs +#------------------------------------------------------------------------------ + +#make the date and time look like a CCDelivery +CCDATE=`date +"%Y_%m_%d_%H%M_%S.0000"` + + +# Update the baselines if necessary + cd ${CXNB_LOCAL_VIEW_PATH} + cleartool mkbl -all -inc "BL_INC_nightlybuild_${CXNB_UCMCC_PROJECT}_${CCDATE}" + +# Exit this shell +exit diff --git a/hostTools/scripts/nightlybuild/voice/cxwarnerrorgrep.sh b/hostTools/scripts/nightlybuild/voice/cxwarnerrorgrep.sh new file mode 100644 index 0000000..82913e1 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/cxwarnerrorgrep.sh @@ -0,0 +1,37 @@ +#/bin/bash
+#------------------------------------------------------------------------------
+# Broadcom Canada Ltd., Copyright 2001-2003
+#
+# Filename: cxwarnerrorgrep.sh
+# Purpose: Grep for errors and warnings in the build logs
+# Arguments: $1 - CxC build target log file to parse
+# $2 - File resulted from a build process (library, dependancy file,
+# target image, ...). Indicates success or failure of the build
+#------------------------------------------------------------------------------
+
+
+export CXNB_LOG_PATH=$(cygpath -u "${CXNB_LOCAL_LOG_PATH}")
+echo "Started error warning grep for $1 $2 at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log
+
+if [ -e "$1.txt" ]
+then
+ export CXNB_LDX_TOOLS_PATH_U=$(cygpath -u "${CXNB_LDX_TOOLS_PATH}")
+ mkdir -p buildlogs
+ echo "***************************************************************" >buildlogs/warn_err_$1.txt
+ echo "CablexChange Warnings and Errors for $1 " >>buildlogs/warn_err_$1.txt
+ echo "***************************************************************" >>buildlogs/warn_err_$1.txt
+ echo >>buildlogs/warn_err_$1.txt
+ gawk -f ${CXNB_LDX_TOOLS_PATH_U}/log.awk $1.txt >>buildlogs/warn_err_$1.txt
+ if [ -e "$2" ]
+ then
+ echo "$1 cxc build successfull." >>buildlogs/build_summary.txt
+ else
+ echo "$1 cxc build FAILED !!!!!" >>buildlogs/build_summary.txt
+ fi
+else
+ echo "cxwarnerrorgrep error: $1.txt does not exits" >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log
+fi
+
+echo "Completed error warning grep for $1 $2 at: " `date +"%T"` >>${CXNB_LOG_PATH}/${CXNB_LABEL}/build.log
+
+exit
diff --git a/hostTools/scripts/nightlybuild/voice/lnx_nbrt_basic_cmds.exp b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_basic_cmds.exp new file mode 100644 index 0000000..c67b74e --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_basic_cmds.exp @@ -0,0 +1,115 @@ +# +# Login to a Linux box +# +proc lnxLogin {ip username pass} { + + send_user "Login to Linux : $ip\n" + set timeout 20 + spawn ssh -l $username $ip + global ssh_spawn_id + set ssh_spawn_id $spawn_id + expect { + "password:" {} + "refused" { + send_user "\n Cannot connect to host $ip !!! \n" + exit 1 + } + timeout { + send_user "\n Timeout while connecting to host $ip !!! \n" + exit 1 + } + } + + send "$pass\r" + expect { + "$username@*\\$" {} + "denied" { + send_user "\n Password not correct for user $username !!! \n" + exit 1 + } + timeout { + send_user "\n Timeout while waiting for user passord !!! \n" + exit 1 + } + } + + send_user "Login Complete\n" + return 0 +} + + +# +# Switch to superuser (user already logged in) +# +proc lnxSu {pass} { + global ssh_spawn_id + set spawn_id $ssh_spawn_id + send_user "\n Switching to superuser\n" + + send "su\r" + expect { + "Password:" {} + timeout { + send_user "\n Timeout. Couldn't switch to superuser !!! \n" + exit 1 + } + } + + send "$pass\r" + expect { + "root@" {} + "incorrect password" { + send_user "\n Invalid password for superuser !!! \n" + exit 1 + } + timeout { + send_user "\n Timeout. Couldn't switch to superuser !!! \n" + exit 1 + } + } + + send_user "\n Switched to superuser\n" +} + + +# +# Generic Linux command +# parameter 1: the actual command +# parameter 2: timeout value for the command (default = 10 sec) +# +proc lnxCmd {cmd timeoutvalue} { + global ssh_spawn_id + set spawn_id $ssh_spawn_id + set timeout $timeoutvalue + + send_user "\n \n $cmd \n" + + send "$cmd \r" + send "if \[ $? -ne 0 \]; then echo 'cmd''failure'; else echo 'cmd''success';fi \r" + + if {$timeout < 20} { + set timeout 20 + } + send_user "Timeout for the command \"$cmd\" set to $timeout sec\n" + expect { + "cmdfailure" { + send_user "\n The Linux command \"$cmd\" has failed !!!\n" + } + "cmdsuccess" { + send_user "\n The Linux command \"$cmd\" has succeeded \n" + } + timeout { + send_user "\n Timeout for Linux command \"$cmd\" \n" + exit 1 + } + } +} + + +proc lnxTest {params} { + set test [lindex $params 1] + puts $test + puts [exec ls] +} + +#lnxTest "ab cd de ef" diff --git a/hostTools/scripts/nightlybuild/voice/lnx_nbrt_build.sh b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_build.sh new file mode 100644 index 0000000..5127091 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_build.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +expect -c "set EXP_BASECC_PATH $UNIX_CXNB_BASECC_LOCAL_VIEW_PATH; \ + set EXP_SRC_PATH $UNIX_CXNB_BASECC_LOCAL_SRC_PATH; \ + set EXP_USERNAME $UNIX_USERNAME; \ + set EXP_USERPASS $UNIX_USERPASS; \ + set EXP_ROOTPASS $UNIX_ROOTPASS; \ + set EXP_TESTCOMPUTER $UNIX_TESTCOMPUTER" \ + -f lnx_nbrt_view_build.exp
\ No newline at end of file diff --git a/hostTools/scripts/nightlybuild/voice/lnx_nbrt_prepare.sh b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_prepare.sh new file mode 100644 index 0000000..14df0af --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_prepare.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +expect -c "set EXP_BASECC_PATH $UNIX_CXNB_BASECC_LOCAL_VIEW_PATH; \ + set EXP_SRC_PATH $UNIX_CXNB_BASECC_LOCAL_SRC_PATH; \ + set EXP_USERNAME $UNIX_USERNAME; \ + set EXP_USERPASS $UNIX_USERPASS; \ + set EXP_ROOTPASS $UNIX_ROOTPASS; \ + set EXP_TESTCOMPUTER $UNIX_TESTCOMPUTER" \ + -f lnx_nbrt_view_prepare.exp
\ No newline at end of file diff --git a/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_build.exp b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_build.exp new file mode 100644 index 0000000..aa7d7ce --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_build.exp @@ -0,0 +1,53 @@ +source lnx_nbrt_basic_cmds.exp + +lnxLogin $EXP_TESTCOMPUTER $EXP_USERNAME $EXP_USERPASS +lnxCmd "cd ${EXP_SRC_PATH}" 0 +lnxSu $EXP_ROOTPASS + +# NOTE: +# The following make commands assume that the default build in the profile is G729. +# Therefore, we don't setup the values for all the vocoder variables when we build +# a vocoder-specific build. For non-G729 loads, we only need to set the G729 +# vocoder variable to 'n' (i.e. reset the default G729 variable) +# and set the appropriate vocoder variable of choice. + +# MGCP, G723 load +lnxCmd "make PROFILE=96345GWV clean" 180 +lnxCmd "make PROFILE=96345GWV BRCM_APP_PHONE=mgcp BRCM_DSP_CODEC_G729=n BRCM_DSP_CODEC_G723=y" 3600 + +# MGCP, G729 load +lnxCmd "make PROFILE=96345GWV clean" 180 +lnxCmd "make PROFILE=96345GWV BRCM_APP_PHONE=mgcp BRCM_DSP_CODEC_G729=y" 3600 + +# MGCP, extended SRAM load +lnxCmd "make PROFILE=96345GWV clean" 180 +lnxCmd "make PROFILE=96345GWV BRCM_APP_PHONE=mgcp BRCM_DSP_CODEC_G729=n BRCM_DSP_CODEC_G7xx=y" 3600 + +# MGCP, IOM2 load +lnxCmd "make PROFILE=96345GWV clean" 180 +lnxCmd "make PROFILE=96345GWV BRCM_APP_PHONE=mgcp BRCM_DSP_CODEC_G729=n BRCM_DSP_IOM2=y" 3600 + +# SIP, G726 load +lnxCmd "make PROFILE=96348GWV clean" 180 +lnxCmd "make PROFILE=96348GWV BRCM_APP_PHONE=sip BRCM_DSP_CODEC_G729=n BRCM_DSP_CODEC_G726=y" 3600 + +# SIP, G729 load +lnxCmd "make PROFILE=96348GWV clean" 180 +lnxCmd "make PROFILE=96348GWV BRCM_APP_PHONE=sip BRCM_DSP_CODEC_G729=y" 3600 + +# SIP, extended SRAM load +lnxCmd "make PROFILE=96348GWV clean" 180 +lnxCmd "make PROFILE=96348GWV BRCM_APP_PHONE=sip BRCM_DSP_CODEC_G729=n BRCM_DSP_CODEC_G7xx=y" 3600 + +# SIP, extended SRAM load (Japan) +lnxCmd "make PROFILE=96348GWV clean" 180 +lnxCmd "make PROFILE=96348GWV BRCM_APP_PHONE=sip BRCM_DSP_CODEC_G729=n BRCM_DSP_CODEC_G7xx=y BRCM_VOICE_COUNTRY_JAPAN=y" 3600 + +# SIP, IOM2 load +lnxCmd "make PROFILE=96348GWV clean" 180 +lnxCmd "make PROFILE=96348GWV BRCM_APP_PHONE=sip BRCM_DSP_CODEC_G729=n BRCM_DSP_IOM2=y" 3600 + +lnxCmd "exit" 0 +lnxCmd "exit" 0 + + diff --git a/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_prepare.exp b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_prepare.exp new file mode 100644 index 0000000..15d1047 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/lnx_nbrt_view_prepare.exp @@ -0,0 +1,31 @@ +source lnx_nbrt_basic_cmds.exp
+
+lnxLogin $EXP_TESTCOMPUTER $EXP_USERNAME $EXP_USERPASS
+lnxSu $EXP_ROOTPASS
+
+lnxCmd "rm -rf ${EXP_BASECC_PATH}/cfe" 30
+lnxCmd "rm -rf ${EXP_BASECC_PATH}/docs" 30
+lnxCmd "rm -rf ${EXP_BASECC_PATH}/hostTools" 30
+lnxCmd "rm -rf ${EXP_BASECC_PATH}/images" 30
+lnxCmd "rm -rf ${EXP_BASECC_PATH}/release" 30
+lnxCmd "rm -rf ${EXP_BASECC_PATH}/sgibcm_2_4_17" 30
+lnxCmd "rm -rf ${EXP_BASECC_PATH}/targets" 30
+lnxCmd "rm -rf ${EXP_BASECC_PATH}/userapps" 30
+lnxCmd "rm -rf ${EXP_BASECC_PATH}/xChange/dslx" 30
+
+
+lnxCmd "rm -rf ${EXP_SRC_PATH}/cfe" 30
+lnxCmd "rm -rf ${EXP_SRC_PATH}/docs" 30
+lnxCmd "rm -rf ${EXP_SRC_PATH}/hostTools" 30
+# Don't delete the created images
+# lnxCmd "rm -rf ${EXP_SRC_PATH}/images" 30
+lnxCmd "rm -rf ${EXP_SRC_PATH}/release" 30
+lnxCmd "rm -rf ${EXP_SRC_PATH}/sgibcm_2_4_17" 30
+lnxCmd "rm -rf ${EXP_SRC_PATH}/targets" 30
+lnxCmd "rm -rf ${EXP_SRC_PATH}/userapps" 30
+lnxCmd "rm -rf ${EXP_SRC_PATH}/xChange" 30
+
+lnxCmd "exit" 0
+lnxCmd "exit" 0
+
+
diff --git a/hostTools/scripts/nightlybuild/voice/readme.txt b/hostTools/scripts/nightlybuild/voice/readme.txt new file mode 100644 index 0000000..74b7ec1 --- /dev/null +++ b/hostTools/scripts/nightlybuild/voice/readme.txt @@ -0,0 +1,19 @@ +This directory contains scripts for enabling nightly builds. + +The following prerequisites are needed for enabling nightly builds: +- one Windows and one Linux PC +- the Windows PC should have ClearCase client +- the Windows PC should have cygwin with support for bash shell and expect scripts +- the user can login to the Linux PC using ssh +- the ClearCase bin directory should be in the cygwin bash path +- base ClearCase view (CommEngine) should be created on the Linux PC and UCM ClearCase +view (dslx_common) should be created in the CommEngine/xChange directory + +The script initiation is performed from a Windows PC, usually through the Windows task scheduler. The batch file cxc_nbrt_start.bat starts the overall build process. + +IMPORTANT: +- the user should copy the content of this directory to a directory outside of the designated nightly build view +- the content of the file cxc_nbrt_setenv.bat should be modified to correspond to the user settings. The user should modify all the variables preceded with the comment "CUSTOMIZE". + + + |