#!/bin/sh
#-----------------------------------------------------------------------
#
# VISIT-INSTALL-OPEN - Install the visit distributions on the open
#                      network.
#
# Author: Eric Brugger
# Date:   October 27, 2000
#
# Usage:
#    visit-install-open [-beta | -private | -public] -v <version>
#
#-----------------------------------------------------------------------

test=no

user=`whoami`

#
# Set the user e-mail address.
#
emailName=brugger1@llnl.gov
case $user in
   ahern)
      emailName=ahern1@llnl.gov
      ;;
   kbonnell)
      emailName=bonnell2@llnl.gov
      ;;
   brugger)
      emailName=brugger1@llnl.gov
      ;;
   childs)
      emailName=childs3@llnl.gov
      ;;
   jennings)
      emailName=jennings4@llnl.gov
      ;;
   meredith)
      emailName=meredith6@llnl.gov
      ;;
   murguia)
      emailName=murguia1@llnl.gov
      ;;
   whitlocb)
      emailName=whitlock2@llnl.gov
      ;;
esac

#
# Parse the execute line, providing default values for error checking.
#
kickit=true
sunspot=true
hyper=true
gps=true
berg=true
pengra=true
alc=true
thunder=true

ver=undefined
verflag=-private

#
# 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)
         kickit=false
         sunspot=false
         hyper=false
         gps=false
         berg=false
         pengra=false
         alc=false
         thunder=false
         shift
         ;;
      -kickit)
         kickit=false
         shift
         ;;
      +kickit)
         kickit=true
         shift
         ;;
      -sunspot)
         sunspot=false
         shift
         ;;
      +sunspot)
         sunspot=true
         shift
         ;;
      -hyper)
         hyper=false
         shift
         ;;
      +hyper)
         hyper=true
         shift
         ;;
      -gps)
         gps=false
         shift
         ;;
      +gps)
         gps=true
         shift
         ;;
      -berg)
         berg=false
         shift
         ;;
      +berg)
         berg=true
         shift
         ;;
      -pengra)
         pengra=false
         shift
         ;;
      +pengra)
         pengra=true
         shift
         ;;
      -alc)
         alc=false
         shift
         ;;
      +alc)
         alc=true
         shift
         ;;
      -thunder)
         thunder=false
         shift
         ;;
      +thunder)
         thunder=true
         shift
         ;;
      -v)
         ver=$2
         shift 2
         ;;
      -beta)
         verflag=-beta
         shift
         ;;
      -private)
         verflag=-private
         shift
         ;;
      -public)
         verflag=;
         shift
         ;;
   esac
done

#
# Check that the version was provided.
#
if [ $ver = undefined ]
then
   echo "Usage: [-beta | -private | -public] [-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 kickit.
#
rm -f kickit
cat <<EOF > kickit
#!/bin/sh
./visit-install -r -private -c open -g visit -gw -l $ver linux /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo "        install of visit on kickit"          > 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
mail $emailName < resultlog
EOF

if [ $kickit = true ]
then
   if [ $test = no ]
   then
      scp kickit:/var/tmp/$user/kickit/visitbuild/visit$ver2.linux.tar.gz .
      scp visit$ver2.linux.tar.gz kickit:
      scp visit-install kickit:
      scp kickit kickit:kickit_install
      ssh kickit "chmod 750 kickit_install;./kickit_install"
   fi
fi

#
# Install on sunspot.
#
rm -f sunspot
cat <<EOF > sunspot
#!/bin/sh
./visit-install -private -c open -g visit -gw -l $ver sunos5 /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo "        install of visit on sunspot"         > 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/sun4-sunos5-sparc/bin  >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "number of database plugins = "\`ls /usr/gapps/visit/$ver/sun4-sunos5-sparc/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls /usr/gapps/visit/$ver/sun4-sunos5-sparc/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls /usr/gapps/visit/$ver/sun4-sunos5-sparc/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "The database plugins:"                       >> resultlog 2>&1
ls /usr/gapps/visit/$ver/sun4-sunos5-sparc/plugins/databases/libI* | sed "s/\/usr\/gapps\/visit\/$ver\/sun4-sunos5-sparc\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mail $emailName < resultlog
EOF

if [ $sunspot = true ]
then
   if [ $test = no ]
   then
      scp sunspot:/export/scratch/$user/sunspot/visitbuild/visit$ver2.sunos5.tar.gz .
      scp visit$ver2.sunos5.tar.gz kickit:
      scp visit-install kickit:
      scp sunspot kickit:sunspot_install
      ssh kickit "chmod 750 sunspot_install;./sunspot_install"
   fi
fi

#
# Install on hyper.
#
rm -f hyper
cat <<EOF > hyper
#!/bin/sh
./visit-install $verflag -c open -g visit -gw -l $ver irix6 /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo "        install of visit on hyper"           > 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/sgi-irix6-mips2/bin    >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "number of database plugins = "\`ls /usr/gapps/visit/$ver/sgi-irix6-mips2/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls /usr/gapps/visit/$ver/sgi-irix6-mips2/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls /usr/gapps/visit/$ver/sgi-irix6-mips2/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "The database plugins:"                       >> resultlog 2>&1
ls /usr/gapps/visit/$ver/sgi-irix6-mips2/plugins/databases/libI* | sed "s/\/usr\/gapps\/visit\/$ver\/sgi-irix6-mips2\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mail $emailName < resultlog
EOF

if [ $hyper = true ]
then
   if [ $test = no ]
   then
      scp hyper:/scratch1/$user/hyper/visitbuild/visit$ver2.irix6.tar.gz .
      scp visit$ver2.irix6.tar.gz kickit:
      scp visit-install kickit:
      scp hyper kickit:hyper_install
      ssh kickit "chmod 750 hyper_install;./hyper_install"
   fi
fi

#
# Install on gps.
#
rm -f gps
cat <<EOF > gps
#!/bin/sh
./visit-install -r -private -c open -g visit -gw -l $ver osf1 /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo "        install of visit on gps"             > 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/dec-osf1-alpha/bin     >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "number of database plugins = "\`ls /usr/gapps/visit/$ver/dec-osf1-alpha/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls /usr/gapps/visit/$ver/dec-osf1-alpha/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls /usr/gapps/visit/$ver/dec-osf1-alpha/plugins/plots/libI* | wc -l\` >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "The database plugins:"                       >> resultlog 2>&1
ls /usr/gapps/visit/$ver/dec-osf1-alpha/plugins/databases/libI* | sed "s/\/usr\/gapps\/visit\/$ver\/dec-osf1-alpha\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mail $emailName < resultlog
EOF

if [ $gps = true ]
then
   if [ $test = no ]
   then
      scp gps15:/nfs/tmp3/$user/gps/visitbuild/visit$ver2.osf1.tar.gz .
      scp visit$ver2.osf1.tar.gz gps15:
      scp visit-install gps15:
      scp gps gps15:gps_install
      ssh gps15 "chmod 750 gps_install;./gps_install"
   fi
fi

#
# Install on berg.
#
rm -f berg
cat <<EOF > berg
#!/bin/sh
./visit-install -private -c open -g visit -gw -l $ver aix /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo "        install of visit on berg"            > 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/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
mail $emailName < resultlog
EOF

if [ $berg = true ]
then
   if [ $test = no ]
   then
      scp berg:/p/glocal1/$user/berg/visitbuild/visit$ver2.aix.tar.gz .
      scp visit$ver2.aix.tar.gz gps15:
      scp visit-install gps15:
      scp berg gps15:berg_install
      ssh gps15 "chmod 750 berg_install;./berg_install"
   fi
fi

#
# Install on pengra.
#
rm -f pengra
cat <<EOF > pengra
#!/bin/sh
./visit-install $verflag -c open -g visit -gw -l $ver linux /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo "        install of visit on pengra"          > 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
mail $emailName < resultlog
EOF

if [ $pengra = true ]
then
   if [ $test = no ]
   then
      scp pengra0:/usr/tmp/brugger/pengra/visitbuild/visit$ver2.linux.tar.gz visit$ver2.linux_chaos.tar.gz
      scp visit$ver2.linux_chaos.tar.gz gps15:visit$ver2.linux.tar.gz
      scp visit-install gps15:
      scp pengra gps15:pengra_install
      ssh gps15 "chmod 750 pengra_install;./pengra_install"
   fi
fi

#
# Install on alc.
#
rm -f alc
cat <<EOF > alc
#!/bin/sh
./visit-install -r -private -c open -g visit -gw -l $ver linux /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo "        install of visit on alc"             > 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
mail $emailName < resultlog
EOF

if [ $alc = true ]
then
   if [ $test = no ]
   then
      scp pengra0:/usr/tmp/brugger/pengra/visitbuild/visit$ver2.linux.tar.gz visit$ver2.linux_chaos.tar.gz
      scp visit$ver2.linux_chaos.tar.gz alc0:visit$ver2.linux.tar.gz
      scp visit-install alc0:
      scp alc alc0:alc_install
      ssh alc0 "chmod 750 alc_install;./alc_install"
      # Temporary until the gnu shared libraries are fixed on alc.  Copying
      # the gcc 3.2.3 shared libraries to visit's shared library directory so
      # that it gets them instead of the broken gnu 3.3.3 shared libraries.
      scp pengra0:/usr/lib/libstdc++.so.5.0.3 .
      scp pengra0:/lib/libgcc_s.so.1 .
      chmod 664 libstdc++.so.5.0.3 libgcc_s.so.1
      scp libstdc++.so.5.0.3 alc:/usr/gapps/visit/$ver/linux-intel/lib
      scp libgcc_s.so.1 alc:/usr/gapps/visit/$ver/linux-intel/lib
   fi
fi

#
# Install on thunder.
#
rm -f thunder
cat <<EOF > thunder
#!/bin/sh
./visit-install $verflag -c open -g visit -gw -l $ver linux-ia64 /usr/gapps/visit > installlog 2>&1
rm -f resultlog
echo "        install of visit on thunder"         > 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-ia64/bin         >> resultlog 2>&1
echo ""                                            >> resultlog 2>&1
echo "number of database plugins = "\`ls /usr/gapps/visit/$ver/linux-ia64/plugins/databases/libI* | wc -l\` >> resultlog 2>&1
echo "number of operator plugins = "\`ls /usr/gapps/visit/$ver/linux-ia64/plugins/operators/libI* | wc -l\` >> resultlog 2>&1
echo "number of plot plugins = "\`ls /usr/gapps/visit/$ver/linux-ia64/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-ia64/plugins/databases/libI* | sed "s/\/usr\/gapps\/visit\/$ver\/linux-ia64\/plugins\/databases\/libI//" | sed "s/Database.so//" >> resultlog 2>&1
mail $emailName < resultlog
EOF

if [ $thunder = true ]
then
   if [ $test = no ]
   then
      scp thunder2:/usr/tmp/brugger/thunder/visitbuild/visit$ver2.linux-ia64.tar.gz .
      scp visit$ver2.linux-ia64.tar.gz gps15:
      scp visit-install gps15:
      scp thunder gps15:thunder_install
      ssh gps15 "chmod 750 thunder_install;./thunder_install"
   fi
fi

#
# Clean up.
#
if [ $test = no ]
then
   rm -f kickit sunspot hyper gps berg pengra alc thunder
fi
