#! /usr/bin/sh # # ident "@(#)mofreg.sh 1.12 06/05/03 SMI" # # Copyright 2004 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # We dont want to exit while doing something. trap 'echo QUIT to exit' 1 2 15 ECHO=/bin/echo GREP=/usr/bin/grep CP=/usr/bin/cp PKG=SUNWwbcor BASEDIR=`/bin/pkgparam $PKG BASEDIR 2>/dev/null` if [ -z "$BASEDIR" ] # pkg not installed or installed several times then BASEDIR=/ # set default. Maybe the dir is nfs mounted fi # Get the path to sadm directory SADMDIR=${BASEDIR}usr/sadm getsadmdir () { # Wbem could be installed on a user selected directory - when using Wbem installer - # in that case wbemInstallDir.properties file will contain the installed directory path. # Wbem installer uses java "user.home" system property to create this file. if [ -f /wbemInstallDir.properties ] # "user.home" = "/" on Solaris then SADMDIR=`grep WBEMINSTALLDIRECTORY /wbemInstallDir.properties|cut -d"=" -f2`"/sadm" elif [ -f /root/wbemInstallDir.properties ] # "user.home" = "/root" on Linux then SADMDIR=`grep WBEMINSTALLDIRECTORY /root/wbemInstallDir.properties|cut -d"=" -f2`"/sadm" else SADMDIR=.. # properties file not found, use relative path fi } # --------- end getsadmdir if [ ! -f $SADMDIR/lib/wbem.jar ] # If wbem.jar does not exists then getsadmdir fi USRLIB=${SADMDIR}/lib WBSERLIB=${SADMDIR}/lib/wbem WBSERBIN=${SADMDIR}/bin JAVACMD="java" # setJavaPath() { if [ -z "$JAVA_HOME" ] then if [ -d /usr/java ] then JAVA_HOME=/usr/java JAVAPATH=${JVBASEDIR}/usr/java/bin JAVALIBS=${JVBASEDIR}/usr/java/lib fi else JAVAPATH=${JAVA_HOME}/bin JAVALIBS=${JAVA_HOME}/lib fi PATH=${JAVAPATH}:${PATH}:$OLDPATH LD_LIBRARY_PATH=${JAVALIBS}:${LD_LIBRARY_PATH} export PATH export LD_LIBRARY_PATH # jre doesn't update CLASSPATH if a CLASSPATH is set ! if [ "${JAVACMD}" = "jre" ] then CLASSPATH=${JAVA_HOME}/lib/rt.jar:${JAVA_HOME}/lib/i18n.jar:${CLASSPATH} CLASSPATH=${JAVA_HOME}/classes:${JAVA_HOME}/lib/classes.zip:${CLASSPATH} export CLASSPATH fi } # --------- end setJavaPath OLDPATH=$PATH PATH=/usr/sbin:/sbin:/usr/bin:${WBSERLIB}:${WBSERBIN} LD_LIBRARY_PATH=${WBSERLIB}:${LD_LIBRARY_PATH} CLASSPATH=${WBSERLIB}:${USRLIB}/wbem.jar:${WBSERLIB}/cimom.jar:${USRLIB}/xml.jar:${WBSERLIB}/extension:${WBSERLIB}/sunwbem.jar export PATH export LD_LIBRARY_PATH export CLASSPATH WBEMLOGROOT=${BASEDIR}/var/sadm/wbem/logr REGDIRROOT=${WBEMLOGROOT}/preReg UNREGDIRROOT=${WBEMLOGROOT}/preUnreg USERID=`/usr/bin/id | $GREP '^uid=0(root)'` if [ -z "$USERID" ]; then if [ "$1" != "-s" ] then $ECHO "You must be root to run this command" exit 1 fi fi usage() { $ECHO "Usage: $0 { -r tag file | -u tag [file] | -s }" exit 1 } checkTag() { if [ -z "$TAG" ] then usage fi CHECKUNREG=`echo $TAG | $GREP '.*\.unreg$'` if [ -n "$CHECKUNREG" ] then $ECHO Tag cannot end with unreg exit 1 fi } case "$1" in '-r') TAG="$2" checkTag FILE="$3" if [ -z "$FILE" ] then usage fi if [ ! -f "$FILE" ] then $ECHO $FILE does not exist exit 1 fi mkdir -p ${REGDIRROOT}/${TAG} cp $FILE ${REGDIRROOT}/${TAG} ;; '-u') TAG="$2" checkTag FILE="$3" if [ ! -z "$FILE" ] && [ ! -f "$FILE" ] then $ECHO $FILE does not exist exit 1 fi mkdir -p ${UNREGDIRROOT}/${TAG} if [ ! -z "$FILE" ] then cp $FILE ${UNREGDIRROOT}/${TAG} fi ;; -s) setJavaPath $JAVACMD CIMOMMofReg localhost root EXITVAL=$? $ECHO if [ $EXITVAL -ne 0 ]; then $ECHO Mofreg failure else $ECHO Mofreg success fi exit $EXITVAL ;; *) usage ;; esac exit 0