#!/sbin/sh # # ident "@(#)pprosvc.sh 1.31 05/03/15 SMI" # # Copyright 2004 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # JAVACMD=/usr/bin/java JAXP_HOME="/usr/share"; export JAXP_HOME PROCESSFILE=/var/tmp/patchproprocs Background="true" CLASSNAME=PatchServices PKGNAME=com.sun.patchpro.cli PATHNAME=com/sun/patchpro/cli SIGNSYSPROPERTY=-Djava.library.path=/usr/lib/cc-ccr/lib PRG=$0 NAWK="/usr/bin/nawk" ############################################################################## # Set up localization text domain TEXTDOMAIN=SUNW_PATCHMGR_CLI_SCRIPTS export TEXTDOMAIN usage() { gettext -s "usage: pprosvc [ -i [-o target_ip] [-s session_id [ -r result_file ]] [-p patch_ID[,patch_ID...]]] | [-d [-s session_id [ -r result_file ]] | [-l [-s session_id [ -r result_file ]]] [-p patch_ID[,patch_ID...]]] | [-h] " exit 1; } # # Confirm that the user is root. # confirmRoot() { Uid=`id | sed 's/uid=\([0-9]*\)(.*/\1/'` if [ "$Uid" -ne 0 ]; then gettext -s "ERROR: Only the root user can execute this script." exit 1 fi } # # set up all paths to all the various executables, classes and libraries getPaths() { BIN_DIRECTORY=`dirname $PRG` BIN_PROGRAM=`basename $PRG` if [ "$BIN_DIRECTORY" = "." ]; then BIN_DIRECTORY=`pwd` PRG=${BIN_DIRECTORY}/${BIN_PROGRAM} fi CLS_DIRECTORY=`dirname $BIN_DIRECTORY`/lib/patch/patchpro.jar PLUGINS_DIRECTORY=`dirname $BIN_DIRECTORY`/lib/patch SDB_LIBRARY=`dirname $BIN_DIRECTORY`/lib/patch/simpledb.jar JAXP_CLASSES=${JAXP_HOME}/lib/dom.jar:${JAXP_HOME}/lib/jaxp-api.jar:${JAXP_HOME}/lib/sax.jar:${JAXP_HOME}/lib/xsltc.jar:${JAXP_HOME}/lib/xalan.jar:${JAXP_HOME}/lib/xercesImpl.jar; export JAXP_CLASSES SIGN_CLASSES=/usr/lib/cc-ccr/lib/clientsignature.jar;export SIGN_CLASSES CLASSPATHEXT="${JAXP_CLASSES}:${SIGN_CLASSES}:${CLS_DIRECTORY}:${SDB_LIBRARY}:${PLUGINS_DIRECTORY}" # # Set up CLASSPATH. # if [ -z "${CLASSPATH}" ]; then CLASSPATH=${CLASSPATHEXT} else CLASSPATH=${CLASSPATHEXT}:${CLASSPATH} fi CLS_DIRECTORY="" export CLASSPATH classname=${PKGNAME}.${CLASSNAME} } # # Construct the command # constructCmd() { fullCommand="${JAVACMD} ${SIGNSYSPROPERTY}" fullCommand="${fullCommand} ${classname}" } # # Main routine # # Set permissions appropriately in support of patch extraction # and installation. Remember that the user "nobody" must have # read access to the checkinstall scripts in the patches umask 022 # Initializing the variables. # SESSIONIDDIR=""; confirmRoot getPaths constructCmd ${fullCommand} "$@"