#!/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} "$@"
