#!/bin/sh
#
# $Header: opsm/cvutl/cvuhelper.sbs /st_has_11.2.0/5 2011/06/15 21:52:10 spavan Exp $
#
# cvuhelper.sbs 
#
# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. 
#
#    NAME
#      cvuhelper.sbs - Helper tool to CVU to retrieve compatible clusterware home 
#
#    DESCRIPTION
#      This tool is a helper tool that is used by CVU to retrieve information
#      about the clusterware home. This tool is required at all times by CVU
#      to call heavyweight API's. This tool is not expected to perform any remote 
#      operations.
#
#    NOTES
#      
#

ECHO=/bin/echo

if [ $# -lt 4 ];
then
   $ECHO "<CVH_EMSG>"
   $ECHO " "
   $ECHO "ERROR: "
   $ECHO "Usage $0 <GI_HOME> <CVUHELPER_VERSION> <CV_HOME> <COMMAND> [<args>]"
   $ECHO "</CVH_EMSG><CVH_ERES>1</CVH_ERES>"
   exit 1
fi
  
ORACLE_HOME=$1
CVUHELPER_CLASS=$2
CV_HOME=$3
shift 3

export ORACLE_HOME

REM_ENV="-DCV_HOME=$CV_HOME -DGI_HOME=$ORACLE_HOME"

CVUJAR=$CV_HOME/jlib/cvu.jar

#adjust CVUJAR location for shiphome
if [ ! -f $CVUJAR ];
then
   CVUJAR=$CV_HOME/../ext/jlib/cvu.jar
   if [ ! -f $CVUJAR ];
   then
      $ECHO "<CVH_EMSG>cvu.jar not found in standard place </CVH_EMSG><CVH_ERES>1</CVH_ERES>"
      exit 1
   fi
fi

SRVMJAR=$ORACLE_HOME/jlib/srvm.jar
SRVMHASJAR=$ORACLE_HOME/jlib/srvmhas.jar
SRVMASMJAR=$ORACLE_HOME/jlib/srvmasm.jar
GNSJAR=$ORACLE_HOME/jlib/gns.jar
OUIJARS=$ORACLE_HOME/oui/jlib/OraInstaller.jar:$ORACLE_HOME/oui/jlib/OraPrereq.jar:$ORACLE_HOME/oui/jlib/prov_fixup.jar:$ORACLE_HOME/oui/jlib/xmlparserv2.jar:$ORACLE_HOME/oui/jlib/share.jar:$ORACLE_HOME/oui/jlib/orai18n-mapping.jar
OPATCHJARS=$ORACLE_HOME/OPatch/jlib/opatch.jar:$ORACLE_HOME/OPatch/jlib/opatchext.jar:$ORACLE_HOME/OPatch/jlib/opatchprereq.jar:$ORACLE_HOME/OPatch/jlib/opatchactions.jar:$ORACLE_HOME/OPatch/jlib/opatchfmw.jar:$ORACLE_HOME/OPatch/jlib/opatchutil.jar

if [ -d $ORACLE_HOME/jdk/jre ];
then
   JREDIR=$ORACLE_HOME/jdk/jre
else
   $ECHO "<CVH_EMSG>Directory $ORACLE_HOME/jdk/jre is not a valid JRE location</CVH_EMSG><CVH_ERES>2</CVH_ERES>"
   exit 1
fi

JRE=$JREDIR/bin/java
JREJAR=$JREDIR/lib/rt.jar

CLASSPATH=$JREJAR:$CVUJAR:$SRVMJAR:$SRVMHASJAR:$GNSJAR:$SRVMASMJAR:$OUIJARS:$OPATCHJARS

if [ -n "$SRVM_TRACE" ]
then
   if [ "$SRVM_TRACE" = "false" ]  || [ "$SRVM_TRACE" = "FALSE" ]
   then
     TRACE="-DTRACING.ENABLED=false"
   else
       TRACE="-DTRACING.ENABLED=true -DTRACING.LEVEL=2"
   fi
fi

if [ -n "$CV_TRACELOC" ];
then
  TRACELOC="-DCV_TRACELOC=$CV_TRACELOC"
fi

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH


# Set the shared library path for JNI shared libraries
# A few platforms use an environment variable other than LD_LIBRARY_PATH
PLATFORM=`/bin/uname`
case $PLATFORM in
  HP-UX) arch=`/bin/uname -m`
       # bugfix 5404049
       if [ -z "$JAVA_HOME" ];
       then
         JAVA_HOME=$JREDIR/..
         export JAVA_HOME
       fi
       SHLIB_PATH=$LD_LIBRARY_PATH
       export SHLIB_PATH
       JRE_OPTS=-d64
       ;;
  AIX)
       LIBPATH=$LD_LIBRARY_PATH
       export LIBPATH
       JRE_OPTS=-d64
     ;;
  Linux) arch=`/bin/uname -m`
       if [ "$arch" = "ppc64" -o "$arch" = "x86_64" -o "$arch" = "s390x" ]
       then
         JRE_OPTS=-d64
       fi
       ;;
  SunOS)
       # Bug 4620768. Unset LD_LIBRARY_PATH_64
       unset LD_LIBRARY_PATH_64
       JRE_OPTS=-d64
       ;;
esac
 
# Run cvuhelper driver
$JRE $JRE_OPTS -classpath $CLASSPATH $REM_ENV $TRACE $TRACELOC oracle.ops.verification.helper.$CVUHELPER_CLASS "$@"
exit $?
