#!/bin/sh ## A Script to collect compiled binaries and libraries on the integration machine. ## Everything is collected into tar files, to be passed on to the system test machine. ## Two input parameters are required: ## 1. The location of the root of the compilation tree ## 2. The release name ## ## A default tar is made for a Solaris SUN machine. Additional versions are copied from the ## root directory by adding a -LNX suffix for Linux and -INTL for Intel-Solaris. # ## If GIN-LNX (for Linux) or GIN-INTL (for Intel-Solaris) directories are not found, the ## collection of the missing version is skipped. ## ## In addition, the Java classes files - prodcuts of CC build, and many data files (html, jars) ## are also copy. if [ $# -lt 3 ] then echo "" echo "Usage: $0 dir build-name configuration-name" echo "Example: $0 ~cmadm/p4client/Globecom/prd_2.0/Globecom/GIN Build1.8.8 prd_2.0" echo "" exit 1 fi RELDIR=$1 if [ ! -d $RELDIR ] then echo "" echo $RELDIR" is not exist. Exit..." echo "" exit 1 fi CNFNAME=$3 INSDIR="/public/"$CNFNAME"/ins" if [ ! -d $INSDIR ] then echo "" echo $INSDIR" is not exist. Exit..." echo "" exit 1 fi SCRIPTSINSDIR="/public/"$CNFNAME"/scripts" RELNAME=Rel-$2 RELDIRLNX=$RELDIR-LNX RELDIRINTL=$RELDIR-INTL SCRIPTSDIR="/public/scripts" CONFDIR=$INSDIR"/conf/GLB" #SHAREDIR=$INSDIR"/Share" CNFN=`echo $CNFNAME | awk -F. '{print $1}'` RRDIR=`echo $RELDIR | sed 's?/GIN??'` RRCONFDIR=$RRDIR"/public/ins/conf/GLB" #RRSHAREDIR=$RRDIR"/public/ins/Share" if [ -d $CONFDIR ] then rm -f $CONFDIR/* else mkdir -p $CONFDIR fi cp $RRCONFDIR/* $CONFDIR #if [ -d $SHAREDIR ] #then # rm -f $SHAREDIR/* #else # mkdir -p $SHAREDIR #fi #cp $RRSHAREDIR/* $SHAREDIR # Copy the executables to /tmp/bin-release ******************* echo "\n Collecting binaries from $RELDIR ....\n" if [ -d /tmp/bin-release ]; then # Clean up old files rm -rf /tmp/bin-release/* else # Create directory mkdir /tmp/bin-release fi cd /tmp/bin-release # Start copying binaries echo " Copying binaries ...." #cp $RELDIR/SDA/sdad . #cp $RELDIR/SDU/sdud . #cp $RELDIR/NPDD/Npdd . #cp $RELDIR/LSM/Lsm . cp $RELDIR/Z2H/XmlConvertor . #cp $RELDIR/GTL/setconf . #cp $RELDIR/GTL/snmpconf . #cp $RELDIR/GTL/http . #cp $SCRIPTSDIR/isalive.sh . #cp $CONFDIR/startIsAlive.sh . cp $CONFDIR/startTrapsFilter.sh . cp $CONFDIR/startFES.sh . #cp $CONFDIR/sdad.sh . #cp $CONFDIR/sdud.sh . #cp $CONFDIR/Npdd.sh . # Tar the content of the directory rm -f $INSDIR/Bin-SUN-$RELNAME.tar.gz /usr/bin/tar cvf $INSDIR/Bin-SUN-$RELNAME.tar . gzip $INSDIR/Bin-SUN-$RELNAME.tar # Repeat for Linux, if build exists if [ -d $RELDIRLNX ]; then echo "\n Collecting binaries from $RELDIRLNX ....\n" rm -rf /tmp/bin-release/* # cp $RELDIRLNX/SDA/sdad . # cp $RELDIRLNX/SDU/sdud . # cp $RELDIRLNX/NPDD/Npdd . # cp $RELDIRLNX/LSM/Lsm . cp $RELDIRLNX/Z2H/XmlConvertor . # cp $RELDIRLNX/GTL/setconf . # cp $RELDIRLNX/GTL/snmpconf . # cp $RELDIRLNX/GTL/http . # cp $SCRIPTSDIR/isalive.sh . # cp $CONFDIR/startIsAlive.sh . cp $CONFDIR/startTrapsFilter.sh . cp $CONFDIR/startFES.sh . # cp $CONFDIR/sdad.sh . # cp $CONFDIR/sdud.sh . # cp $CONFDIR/Npdd.sh . # Tar the content of the directory rm -f $INSDIR/Bin-LNX-$RELNAME.tar.gz /usr/bin/tar cvf $INSDIR/Bin-LNX-$RELNAME.tar . gzip $INSDIR/Bin-LNX-$RELNAME.tar fi # Repeat for Intel-Solaris, if build exists if [ -d $RELDIRINTL ]; then echo "\n Collecting binaries from $RELDIRINTL ....\n" rm -rf /tmp/bin-release/* # cp $RELDIRINTL/SDA/sdad . # cp $RELDIRINTL/SDU/sdud . # cp $RELDIRINTL/NPDD/Npdd . # cp $RELDIRINTL/LSM/Lsm . cp $RELDIRINTL/Z2H/XmlConvertor . # cp $RELDIRINTL/GTL/setconf . # cp $RELDIRINTL/GTL/snmpconf . # cp $RELDIRINTL/GTL/http . # cp $SCRIPTSDIR/isalive.sh . # cp $CONFDIR/startIsAlive.sh . cp $CONFDIR/startTrapsFilter.sh . cp $CONFDIR/startFES.sh . # cp $CONFDIR/sdad.sh . # cp $CONFDIR/sdud.sh . # cp $CONFDIR/Npdd.sh . # Tar the content of the directory rm -f $INSDIR/Bin-INTL-$RELNAME.tar.gz /usr/bin/tar cvf $INSDIR/Bin-INTL-$RELNAME.tar . gzip $INSDIR/Bin-INTL-$RELNAME.tar fi # Cleanup rm -rf /tmp/bin-release/* # Copy the libraries to /tmp/lib-release ***************************** if [ -d /tmp/lib-release ]; then # Clean up old files rm -rf /tmp/lib-release/* else # Create directory mkdir /tmp/lib-release fi cd /tmp/lib-release # Start copying libraries echo "\n Collecting libraries from $RELDIR ....\n" #cp $RELDIR/DPT/lib*.so . #cp $RELDIR/GNS/*.so . cp $RELDIR/GTL/lib*.so . #cp $RELDIR/GRB/lib*.so . #cp $RELDIR/RUS/lib*.so . #cp $RELDIR/PICI/lib*.so . #cp $RELDIR/SDA/lib*.so . #cp $RELDIR/ZAX/lib*.so . #cp $RELDIR/SDU/lib*.so . #cp $RELDIR/UWS/*.so . # Create version suffix for libr in `ls *.so`; do mv $libr $libr.0 ln -s $libr.0 $libr done # Tar the content of the directory rm -f $INSDIR/Lib-SUN-$RELNAME.tar.gz /usr/bin/tar cvf $INSDIR/Lib-SUN-$RELNAME.tar . gzip $INSDIR/Lib-SUN-$RELNAME.tar # Clean up rm -rf /tmp/lib-release/* # Repeat for Linux, if build exists if [ -d $RELDIRLNX ]; then # Start copying libraries echo "\n Collecting libraries from $RELDIRLNX ....\n" # cp $RELDIRLNX/DPT/lib*.so . # cp $RELDIRLNX/GNS/*.so . cp $RELDIRLNX/GTL/lib*.so . # cp $RELDIRLNX/GRB/lib*.so . # cp $RELDIRLNX/RUS/lib*.so . # cp $RELDIRLNX/PICI/lib*.so . # cp $RELDIRLNX/SDA/lib*.so . # cp $RELDIRLNX/ZAX/lib*.so . # cp $RELDIRLNX/SDU/lib*.so . # cp $RELDIRLNX/UWS/*.so . # Create version sufix for libr in `ls *.so`; do mv $libr $libr.0 ln -s $libr.0 $libr done # Tar the content of the directory rm -f $INSDIR/Lib-LNX-$RELNAME.tar.gz /usr/bin/tar cvf $INSDIR/Lib-LNX-$RELNAME.tar . gzip $INSDIR/Lib-LNX-$RELNAME.tar fi # Clean up rm -rf /tmp/lib-release/* # Repeat for Intel-Solaris, if build exists if [ -d $RELDIRINTL ]; then # Start copying libraries echo "\n Collecting binaries and libraries from $RELDIRINTL ....\n" # cp $RELDIRINTL/DPT/lib*.so . # cp $RELDIRINTL/GNS/*.so . cp $RELDIRINTL/GTL/lib*.so . # cp $RELDIRINTL/GRB/lib*.so . # cp $RELDIRINTL/RUS/lib*.so . # cp $RELDIRINTL/PICI/lib*.so . # cp $RELDIRINTL/SDA/lib*.so . # cp $RELDIRINTL/ZAX/lib*.so . # cp $RELDIRINTL/SDU/lib*.so . # cp $RELDIRINTL/UWS/*.so . # Create version sufix for libr in `ls *.so`; do mv $libr $libr.0 ln -s $libr.0 $libr done # Tar the content of the directory rm -f $INSDIR/Lib-INTL-$RELNAME.tar.gz /usr/bin/tar cvf $INSDIR/Lib-INTL-$RELNAME.tar . gzip $INSDIR/Lib-INTL-$RELNAME.tar fi ## CC files copying procedure echo "Copy MakeDB files to installation directory" if [ -d $INSDIR/MakeDB ] then rm -rf $INSDIR/MakeDB/* else mkdir -p $INSDIR/MakeDB fi cp -r $RRDIR/globalsale/db/* $INSDIR/MakeDB echo "Copy Jar files to installation directory" if [ -d $INSDIR/Java/Jars ] then rm -f $INSDIR/Java/Jars/* else mkdir $INSDIR/Java/Jars fi cp $RRDIR/jars/* $INSDIR/Java/Jars cp $RRDIR/classes/lib/Admin.jar $INSDIR/Java/Jars echo "Copy image files to installation directory" if [ -d $INSDIR/images ] then rm -f $INSDIR/images/* else mkdir $INSDIR/images fi cp $RRDIR/html/images/* $INSDIR/images echo "Copy help files to installation directory" if [ -d $INSDIR/help ] then rm -f $INSDIR/help/* else mkdir $INSDIR/help fi cp $RRDIR/html/help/* $INSDIR/help echo "Copy Admin.html and Cancel.html to installation directory" rm -f $INSDIR/conf/GLB/Admin.html* $INSDIR/conf/GLB/Cancel.html cp $RRDIR/html/*.html* $INSDIR/conf/GLB echo "Copy Java classes to installation directory" rm -rf $INSDIR/Java/globecom mkdir $INSDIR/Java/globecom cp -r $RRDIR/classes/globecom/globalsale $INSDIR/Java/globecom if [ "$CNFN" = "prd_2" ] then echo "Copy *DD.ser files to installation directory" rm -rf $INSDIR/deploy mkdir $INSDIR/deploy for i in `find $RRDIR/classes/globecom/globalsale -name "*DD.ser"` do cp $i $INSDIR/deploy done else echo "Copy deployment JAR files to installation directory" rm -rf $INSDIR/deploy cp -r $RRDIR/classes/deploy $INSDIR fi echo "Copy Java applets to EPOP installation directory" EPOPINSDIR=$INSDIR"/EPOP-Source/classpath/globecom/globalsale/applets" rm -rf $EPOPINSDIR mkdir -p $EPOPINSDIR cp $RRDIR/classes/globecom/globalsale/applets/* $EPOPINSDIR echo "Copy sounder classes into misc installation directory" MISCINSDIR=$INSDIR/misc SOUNDERDIR=$RRDIR/classes/globecom/globalsale/applets rm -f $MISCINSDIR/*.class for i in Sounder Local do cp $SOUNDERDIR/*.class $MISCINSDIR done echo "Copy files to CI intermediate directory" CIINSDIR=$INSDIR"/CI" CISOUNDERDIR=$CIINSDIR/classes/globecom/globalsale/applets mkdir -p $CISOUNDERDIR for i in Sounder Local do cp $SOUNDERDIR/*.class $CISOUNDERDIR done echo "Copy public scripts to scripts directory" rm -rf $SCRIPTSINSDIR cp -r /public/scripts $SCRIPTSINSDIR echo "Copy PC-Winodws-standalone-installation document to installation directory" rm -f $INSDIR/PC_WIN_standalone_installation.doc cp $RRDIR/PC_WIN_standalone_installation.doc $INSDIR # Clean up rm -rf /tmp/lib-release/* echo "\n\n The $RELNAME release is ready for distribution"