#!/bin/sh
#-----------------------------------------------------------------------
#
# VISIT-INSTALL-CLOSED - Install the visit distributions on the closed
#                        network.
#
# Author: Eric Brugger
# Date:   February 12, 2001
#
# Usage:
#    visit-install-closed [-beta | -private | -public] -v <version>
#
# Modifications:
#   Brad Whitlock, Tue Mar 7 14:10:26 PST 2006
#   I added -b bdivp to the visit-install invokations.
#
#   Eric Brugger, Mon Apr  7 13:52:50 PDT 2008
#   Removed sc install.
#
#   Hank Childs, Sat May  2 13:26:51 CDT 2009
#   Renamed config file to llnl_closed.
#
#-----------------------------------------------------------------------

test=no

user=`whoami`

#
# Parse the execute line, providing default values for error checking.
#
crier=true
purple=true
hopi=true

ver=undefined

#
# The loop is executed once for each symbol on the execute line.  This means
# that $1 may be blank for later executions of the loop if any "shift 2"
# commands are executed.  The variable abc is not used in the loop.
#
for abc
do
   case $1 in
      -none)
         crier=false
         purple=false
         hopi=false
         shift
         ;;
      -crier)
         crier=false
         shift
         ;;
      +crier)
         crier=true
         shift
         ;;
      -purple)
         purple=false
         shift
         ;;
      +purple)
         purple=true
         shift
         ;;
      -hopi)
         hopi=false
         shift
         ;;
      +hopi)
         hopi=true
         shift
         ;;
      -v)
         ver=$2
         shift 2
         ;;
   esac
done

#
# Check that the version was provided.
#
if [ $ver = undefined ]
then
   echo "Usage: [-none] [-<machine name>] -v <version>"
   exit
fi

#
# Check that the visit install script is present.
#
if [ ! -e visit-install ]
then
   echo "visit-install is missing."
   exit
fi

ver2=`echo $ver | tr "." "_"`
ver=`echo $ver2 | tr "_" "."`

#
# Install on crier.
#
rm -f crier
cat <<EOF > crier
#!/bin/sh
./visit-install -private -c llnl_closed -g visit -b bdivp -gw -l $ver linux_rhel3 /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo ""                                            > resultlog 2>&1
echo "        install of visit on crier"           >> resultlog 2>&1
echo "       ---------------------------"          >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
df -k /usr/gapps/visit                             >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
ls -l /usr/gapps/visit/$ver+/linux-intel/bin       >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "number of database plugins = "\`ls /usr/gapps/visit/$ver+/linux-intel/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls /usr/gapps/visit/$ver+/linux-intel/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls /usr/gapps/visit/$ver+/linux-intel/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "The database plugins:"                       >> resultlog 2>&1
ls /usr/gapps/visit/$ver+/linux-intel/plugins/databases/libI* | sed "s/\/usr\/gapps\/visit\/$ver+\/linux-intel\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mv resultlog resultlog.crier
EOF

if [ $crier = true ]
then
   if [ $test = no ]
   then
      scp -P 22 crier:/export/scratch/$user/crier/visitbuild/visit$ver2.linux-intel.tar.gz visit$ver2.linux_rhel3.tar.gz
      scp -P 22 visit$ver2.linux_rhel3.tar.gz crier:
      scp -P 22 visit-install crier:
      scp -P 22 crier crier:crier_install
      ssh -p 22 crier "chmod 750 crier_install;./crier_install"
   fi
fi

#
# Install on purple.
#
rm -f purple
cat <<EOF > purple
#!/bin/sh
./visit-install -private -c llnl_closed -g visit -b bdivp -gw -l $ver ibm-aix-pwr /usr/gapps/visit > installlog 2>&1
./visit-install -private -c llnl_closed -g visit -b bdivp -gw -l $ver ibm-aix-pwr64 /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo ""                                            > resultlog 2>&1
echo "        install of visit on purple"          >> resultlog 2>&1
echo "       ----------------------------"         >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
df -k /usr/gapps/visit                             >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "              32 bit version"                >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
ls -l /usr/gapps/visit/$ver+/ibm-aix-pwr/bin       >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "number of database plugins = "\`ls /usr/gapps/visit/$ver+/ibm-aix-pwr/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls /usr/gapps/visit/$ver+/ibm-aix-pwr/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls /usr/gapps/visit/$ver+/ibm-aix-pwr/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "The database plugins:"                       >> resultlog 2>&1
ls /usr/gapps/visit/$ver+/ibm-aix-pwr/plugins/databases/libI* | sed "s/\/usr\/gapps\/visit\/$ver+\/ibm-aix-pwr\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "              64 bit version"                >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
ls -l /usr/gapps/visit/$ver+/ibm-aix-pwr64/bin     >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "number of database plugins = "\`ls /usr/gapps/visit/$ver+/ibm-aix-pwr64/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls /usr/gapps/visit/$ver+/ibm-aix-pwr64/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls /usr/gapps/visit/$ver+/ibm-aix-pwr64/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "The database plugins:"                       >> resultlog 2>&1
ls /usr/gapps/visit/$ver+/ibm-aix-pwr64/plugins/databases/libI* | sed "s/\/usr\/gapps\/visit\/$ver+\/ibm-aix-pwr64\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mv resultlog resultlog.purple
EOF

if [ $purple = true ]
then
   if [ $test = no ]
   then
      scp purple:/p/gscratch3/$user/purple32/visitbuild/visit$ver2.ibm-aix-pwr.tar.gz .
      scp purple:/p/gscratch3/$user/purple64/visitbuild/visit$ver2.ibm-aix-pwr64.tar.gz .
      scp visit$ver2.ibm-aix-pwr.tar.gz hopi3:
      scp visit$ver2.ibm-aix-pwr64.tar.gz hopi3:
      scp visit-install hopi3:
      scp purple hopi3:purple_install
      ssh hopi3 "chmod 750 purple_install;./purple_install"
   fi
fi

#
# Install on hopi.
#
rm -f hopi
cat <<EOF > hopi
#!/bin/sh
./visit-install -private -c llnl_closed -g visit -b bdivp -gw -l $ver linux-x86_64 /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo ""                                            > resultlog 2>&1
echo "        install of visit on hopi"            >> resultlog 2>&1
echo "       --------------------------"           >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
df -k /usr/gapps/visit                             >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
ls -l /usr/gapps/visit/$ver+/linux-x86_64/bin      >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "number of database plugins = "\`ls /usr/gapps/visit/$ver+/linux-x86_64/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls /usr/gapps/visit/$ver+/linux-x86_64/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls /usr/gapps/visit/$ver+/linux-x86_64/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "The database plugins:"                       >> resultlog 2>&1
ls /usr/gapps/visit/$ver+/linux-x86_64/plugins/databases/libI* | sed "s/\/usr\/gapps\/visit\/$ver+\/linux-x86_64\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mv resultlog resultlog.hopi
EOF

if [ $hopi = true ]
then
   if [ $test = no ]
   then
      scp hopi3:/usr/tmp/$user/hopi/visitbuild/visit$ver2.linux-x86_64.tar.gz .
      scp visit$ver2.linux-x86_64.tar.gz hopi3:
      scp visit-install hopi3:
      scp hopi hopi3:hopi_install
      ssh hopi3 "chmod 750 hopi_install;./hopi_install"
   fi
fi

#
# Clean up.
#
if [ $test = no ]
then
   rm -f crier purple hopi
fi
