2829 lines
		
	
	
	
		
			83 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			2829 lines
		
	
	
	
		
			83 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/sh
							 | 
						|||
| 
								 | 
							
								#################################################################################################
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# LAXUNIX.SH - LaunchAnywhere (tm) version 17.0
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# (c) Copyright 2015 Flexera Software LLC. All rights reserved.
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								#  To run this script you will need to have the following:
							 | 
						|||
| 
								 | 
							
								#	1) a Java VM installed (however, it will handle a lack of Java nicely).
							 | 
						|||
| 
								 | 
							
								#	2) a Java-style properties file having the same name as this script
							 | 
						|||
| 
								 | 
							
								#		with the suffix .lax.  If this script is appended to the
							 | 
						|||
| 
								 | 
							
								#		self-extractor, it will look for the properties file in the
							 | 
						|||
| 
								 | 
							
								#		directory specified by $seLaxPath; otherwise, it will look in
							 | 
						|||
| 
								 | 
							
								#		the same directory that this script is in.
							 | 
						|||
| 
								 | 
							
								#	3) a Java program in the file "lax.jar".
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								#  The .lax property file must contain at least the following properties:
							 | 
						|||
| 
								 | 
							
								#	1)  lax.class.path  classpath (do not include the environment variable $CLASSPATH )
							 | 
						|||
| 
								 | 
							
								#	2)  lax.nl.java.launcher.main.class  (main class of LaunchAnywhere Executable)
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								#################################################################################################
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# Since USERENV is already set in the self-extractor, if its not set we know
							 | 
						|||
| 
								 | 
							
								# this is not an installer but a separate launcher. 
							 | 
						|||
| 
								 | 
							
								# USERENV is just a flag passed from use.sh.
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								IS_INSTALLER=''
							 | 
						|||
| 
								 | 
							
								[ $USERENV ] && IS_INSTALLER=true
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# later on we might add things to the PATH, but we want to preserve the PATH
							 | 
						|||
| 
								 | 
							
								# order for which VMs are the first ones found.
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								VM_SEARCH_PATH="$PATH"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								case `uname -s` in
							 | 
						|||
| 
								 | 
							
								"SunOS") TR="/usr/xpg4/bin/tr"
							 | 
						|||
| 
								 | 
							
								;;
							 | 
						|||
| 
								 | 
							
								*) TR="/usr/bin/tr"
							 | 
						|||
| 
								 | 
							
								;;
							 | 
						|||
| 
								 | 
							
								esac
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								# Set some constants
							 | 
						|||
| 
								 | 
							
								if [ "$1" = "LAX_VM" ]; then
							 | 
						|||
| 
								 | 
							
									lax_vm="LAX_VM"
							 | 
						|||
| 
								 | 
							
									lax_vm_value="$2"
							 | 
						|||
| 
								 | 
							
									shift 2
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									lax_vm=""
							 | 
						|||
| 
								 | 
							
								fi 
							 | 
						|||
| 
								 | 
							
								anyVMlist="JDK_J2 D12 JRE_J2 R12 JDK_J1 JRE_J1 JDK JRE ALL" 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								#Specifying some global variables
							 | 
						|||
| 
								 | 
							
								IATEMP="/tmp"
							 | 
						|||
| 
								 | 
							
								DEBUG=0
							 | 
						|||
| 
								 | 
							
								var_searchAndverifyJvm=2  #var_searchAndverifyJvm -  jvm search&verify result; successful search&verify sets to zero; initializing to non-zero 
							 | 
						|||
| 
								 | 
							
								var_verifyJVM=2           # verification of a JVM result. successful verification of searched JVM sets to zero; initializing to non-zero 
							 | 
						|||
| 
								 | 
							
								pbc=1
							 | 
						|||
| 
								 | 
							
								LOG=/tmp/ourlog
							 | 
						|||
| 
								 | 
							
								iaVV="true"
							 | 
						|||
| 
								 | 
							
								actvmType=""
							 | 
						|||
| 
								 | 
							
								actvm=""
							 | 
						|||
| 
								 | 
							
								PLATFORM_HINT_FILE=/tmp/tmpPlatformHintFile
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								# Format commandline args
							 | 
						|||
| 
								 | 
							
								# To overcome the problem of quoted args (with internal spaces) to the launcher
							 | 
						|||
| 
								 | 
							
								# is that they get "unquoted" or separated into discreet args when they are put
							 | 
						|||
| 
								 | 
							
								# on the cmdline for the application.  This following block makes  sure the stay intact
							 | 
						|||
| 
								 | 
							
								overrideDefaultUIMode="false"
							 | 
						|||
| 
								 | 
							
								ignoreMode="false";
							 | 
						|||
| 
								 | 
							
								uimode="not set"
							 | 
						|||
| 
								 | 
							
								hasSeenI="false"
							 | 
						|||
| 
								 | 
							
								tmpArgs=""
							 | 
						|||
| 
								 | 
							
								origArgs=$@
							 | 
						|||
| 
								 | 
							
								for arg in "$@"
							 | 
						|||
| 
								 | 
							
								do
							 | 
						|||
| 
								 | 
							
									if [ "$arg" != "" ]; then
							 | 
						|||
| 
								 | 
							
										tmpArgs="$tmpArgs \"$arg\""
							 | 
						|||
| 
								 | 
							
										if [ "$arg" = "-i" -o "$arg" = "-I" ]; then
							 | 
						|||
| 
								 | 
							
											hasSeenI="true"
							 | 
						|||
| 
								 | 
							
										elif [ "$hasSeenI" = "true" ]; then
							 | 
						|||
| 
								 | 
							
											lowerArg=`echo $arg | $TR "[:upper:]" "[:lower:]"`
							 | 
						|||
| 
								 | 
							
											if [ "$lowerArg" = "awt" ]; then
							 | 
						|||
| 
								 | 
							
												uimode="awt"
							 | 
						|||
| 
								 | 
							
												overrideDefaultUIMode="true"
							 | 
						|||
| 
								 | 
							
											elif [ "$lowerArg" = "swing" ]; then
							 | 
						|||
| 
								 | 
							
												uimode="swing"
							 | 
						|||
| 
								 | 
							
												overrideDefaultUIMode="true"
							 | 
						|||
| 
								 | 
							
											elif [ "$lowerArg" = "gui" ]; then
							 | 
						|||
| 
								 | 
							
												uimode="gui"
							 | 
						|||
| 
								 | 
							
												overrideDefaultUIMode="true"
							 | 
						|||
| 
								 | 
							
											elif [ "$lowerArg" = "console" ]; then
							 | 
						|||
| 
								 | 
							
												uimode="console"
							 | 
						|||
| 
								 | 
							
												overrideDefaultUIMode="true"
							 | 
						|||
| 
								 | 
							
											elif [ "$lowerArg" = "text" ]; then
							 | 
						|||
| 
								 | 
							
												uimode="console"
							 | 
						|||
| 
								 | 
							
												overrideDefaultUIMode="true"
							 | 
						|||
| 
								 | 
							
											elif [ "$lowerArg" = "silent" ]; then
							 | 
						|||
| 
								 | 
							
												uimode="silent"
							 | 
						|||
| 
								 | 
							
												overrideDefaultUIMode="true"
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												ignoreMode="true"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								done
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# JVM heap size option are no longer required, hence removing it from the command line arguments.
							 | 
						|||
| 
								 | 
							
								# *NOTE* :: This part can be done in the above code but still doing the same again.
							 | 
						|||
| 
								 | 
							
								tmpArgs=""
							 | 
						|||
| 
								 | 
							
								jvmOptPresent="false"
							 | 
						|||
| 
								 | 
							
								for arg in "$@"
							 | 
						|||
| 
								 | 
							
								do
							 | 
						|||
| 
								 | 
							
									if [ "$arg" != "-jvmxms" ] && [ "$arg" != "-jvmxmx" ] && [ "$jvmOptPresent" = "false" ]; then
							 | 
						|||
| 
								 | 
							
										tmpArgs="$tmpArgs \"$arg\""
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										if [ "$jvmOptPresent" = "false" ]; then
							 | 
						|||
| 
								 | 
							
											jvmOptPresent="true"
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											jvmOptPresent="false"
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								done
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								cmdLineArgs="$tmpArgs"
							 | 
						|||
| 
								 | 
							
								thisScript="$0"
							 | 
						|||
| 
								 | 
							
								# make sure thisScript is an abs path
							 | 
						|||
| 
								 | 
							
								case $thisScript in
							 | 
						|||
| 
								 | 
							
									/*)
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									*)
							 | 
						|||
| 
								 | 
							
										thisScript="`pwd`/$thisScript"
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
								esac
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# WHere does the LAX_DEBUG output go?
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								if [ "$LAX_DEBUG" = "file" ]; then
							 | 
						|||
| 
								 | 
							
									jx_log="`pwd`/jx.log"
							 | 
						|||
| 
								 | 
							
									rm -f "$jx_log"
							 | 
						|||
| 
								 | 
							
									touch "$jx_log"
							 | 
						|||
| 
								 | 
							
									if [ "$?" -gt "0" ]; then
							 | 
						|||
| 
								 | 
							
										jx_log_ok="false"
							 | 
						|||
| 
								 | 
							
										echo "Could not create $jx_log.  Sending debug output to console."
							 | 
						|||
| 
								 | 
							
									else 
							 | 
						|||
| 
								 | 
							
										jx_log_ok="true"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								debugOut()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									case "$LAX_DEBUG" in
							 | 
						|||
| 
								 | 
							
										"file" ) 
							 | 
						|||
| 
								 | 
							
											if [ "$jx_log_ok" = "true" ]; then
							 | 
						|||
| 
								 | 
							
												echo "$1" >> "$jx_log"
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												echo "$1"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										""     )
							 | 
						|||
| 
								 | 
							
											echo "$1" >> /dev/null
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										*      )
							 | 
						|||
| 
								 | 
							
											echo "$1"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
									esac
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# UNIX ENVIRONMENT configuration
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								debugOut ""
							 | 
						|||
| 
								 | 
							
								debugOut "[7m========= Analyzing UNIX Environment =================================[0m"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# Get os type , note that it is LOWER-CASED.  Used here and later on
							 | 
						|||
| 
								 | 
							
								osName=`uname -s 2> /dev/null | $TR "[:upper:]" "[:lower:]" 2> /dev/null`
							 | 
						|||
| 
								 | 
							
								debugOut "Setting UNIX ($osName) flavor specifics."
							 | 
						|||
| 
								 | 
							
								vmScript=".java_wrapper"
							 | 
						|||
| 
								 | 
							
								case "$osName" in
							 | 
						|||
| 
								 | 
							
									*irix*)
							 | 
						|||
| 
								 | 
							
										cpuName="unknown"
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									*hp-ux*|*hpux*)
							 | 
						|||
| 
								 | 
							
										cpuName=`uname -m 2> /dev/null`
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									*solaris*|*sunos*)
							 | 
						|||
| 
								 | 
							
										cpuName=`uname -p 2> /dev/null`
							 | 
						|||
| 
								 | 
							
										THREADS_FLAG="";	export THREADS_FLAG 
							 | 
						|||
| 
								 | 
							
										PATH=/usr/bin:$PATH;	export PATH
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									*aix*)
							 | 
						|||
| 
								 | 
							
										cpuName="unknown"
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									*freebsd*)
							 | 
						|||
| 
								 | 
							
										cpuName=`uname -p 2> /dev/null`
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									*linux*)
							 | 
						|||
| 
								 | 
							
										cpuName=`uname -m 2> /dev/null`
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									# tlb 2001-09-18 updating to support Darwin
							 | 
						|||
| 
								 | 
							
									*rhapsody*|*darwin*)
							 | 
						|||
| 
								 | 
							
										cpuName=`uname -p 2> /dev/null`
							 | 
						|||
| 
								 | 
							
										vmScript=".java_command"
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									*compaq*|*dg*|*osf*)
							 | 
						|||
| 
								 | 
							
										cpuName="unknown"
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									*)
							 | 
						|||
| 
								 | 
							
										cpuName="unknown"
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
								esac
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								if [ -x /bin/ls ]; then
							 | 
						|||
| 
								 | 
							
									lsCMD="/bin/ls"
							 | 
						|||
| 
								 | 
							
								elif [ -x /usr/bin/ls ]; then
							 | 
						|||
| 
								 | 
							
									lsCMD="/usr/bin/ls"
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									lsCMD="ls"
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								debugOut "Importing UNIX environment into LAX properties."
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								# 
							 | 
						|||
| 
								 | 
							
								# CREATE ENV.PROPERTIES and figure out if this is being exec'd from an installer
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# We need POSIX awk. On some systems it's called awk, on others
							 | 
						|||
| 
								 | 
							
								# nawk. It's most frequently called nawk, so start with that.
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								debugOut "Checking for POSIX awk."
							 | 
						|||
| 
								 | 
							
								  
							 | 
						|||
| 
								 | 
							
								AWK=nawk
							 | 
						|||
| 
								 | 
							
								( $AWK '{}' ) < /dev/null 2>&0 || AWK=awk
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								if [ -z "$IATEMPDIR" ]; then
							 | 
						|||
| 
								 | 
							
									TMPDIR=/tmp
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									TMPDIR=$IATEMPDIR
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								if [ -z "$envPropertiesFile" ]
							 | 
						|||
| 
								 | 
							
								then
							 | 
						|||
| 
								 | 
							
									if [ -d $TMPDIR ]
							 | 
						|||
| 
								 | 
							
									then
							 | 
						|||
| 
								 | 
							
										envPropertiesFile=$TMPDIR/env.properties.$$
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										envPropertiesFile="$HOME/env.properties.$$"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# Convert environment variables to LAX properties. The variables
							 | 
						|||
| 
								 | 
							
								# are also named with alternate case (all upper, all lower).
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# E.g.
							 | 
						|||
| 
								 | 
							
								#     export My_Env_Var="abc
							 | 
						|||
| 
								 | 
							
								#     def"
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# is converted to:
							 | 
						|||
| 
								 | 
							
								#     lax.nl.env.exact_case.My_Env_Var=abc def
							 | 
						|||
| 
								 | 
							
								#     lax.nl.env.MY_ENV_VAR=abc def
							 | 
						|||
| 
								 | 
							
								#     lax.nl.env.my_env_var=abc def
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# The second gsub() is used to escape backslashes so that when the properties 
							 | 
						|||
| 
								 | 
							
								# file is read by the java.util.Properties object, there is not a problem
							 | 
						|||
| 
								 | 
							
								# with incorrectly interpreted escaped unicode.
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# This code segment is written in POSIX awk for performance reasons.
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								  
							 | 
						|||
| 
								 | 
							
								$AWK -v LAX_PREFIX=lax.nl.env. '
							 | 
						|||
| 
								 | 
							
								END { 
							 | 
						|||
| 
								 | 
							
									for (var in ENVIRON) 
							 | 
						|||
| 
								 | 
							
									{
							 | 
						|||
| 
								 | 
							
										# get variable value
							 | 
						|||
| 
								 | 
							
										value = ENVIRON[var]
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										# strip newlines
							 | 
						|||
| 
								 | 
							
										gsub(/\n/, " ", value)
							 | 
						|||
| 
								 | 
							
								  
							 | 
						|||
| 
								 | 
							
										# convert one backslash to two
							 | 
						|||
| 
								 | 
							
										gsub(/\\/, "\\\\", value)
							 | 
						|||
| 
								 | 
							
								  
							 | 
						|||
| 
								 | 
							
										# print as LAX property
							 | 
						|||
| 
								 | 
							
										print LAX_PREFIX "exact_case." var "=" value
							 | 
						|||
| 
								 | 
							
										print LAX_PREFIX tolower(var) "=" value
							 | 
						|||
| 
								 | 
							
										print LAX_PREFIX toupper(var) "=" value
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}' < /dev/null > $envPropertiesFile
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# Tracing symbolic links to actual launcher location
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								resolveLink()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									rl_linked="true"
							 | 
						|||
| 
								 | 
							
									rl_operand="$1"
							 | 
						|||
| 
								 | 
							
									rl_origDir="`dirname "$1"`"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									# bypass the whole thing if this isnt a link
							 | 
						|||
| 
								 | 
							
									rl_ls=`$lsCMD -l "$rl_operand"`
							 | 
						|||
| 
								 | 
							
									case "$rl_ls" in
							 | 
						|||
| 
								 | 
							
										*"->"*)
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										*)
							 | 
						|||
| 
								 | 
							
											resolvedLink="$rl_operand"
							 | 
						|||
| 
								 | 
							
											return
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
									esac 
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									while [ "$rl_linked" = "true" ]; do
							 | 
						|||
| 
								 | 
							
										# if the operand is not of an abs path, get its abs path
							 | 
						|||
| 
								 | 
							
										case "$rl_operand" in
							 | 
						|||
| 
								 | 
							
											/*)
							 | 
						|||
| 
								 | 
							
												rl_origDir=`dirname "$rl_operand"`
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											\./*)
							 | 
						|||
| 
								 | 
							
												rl_origDir=`pwd`
							 | 
						|||
| 
								 | 
							
												rl_operand="$rl_origDir/$rl_operand"
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											*)
							 | 
						|||
| 
								 | 
							
												rl_operand="$rl_origDir/$rl_operand"
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
										esac
							 | 
						|||
| 
								 | 
							
										#
							 | 
						|||
| 
								 | 
							
										# the prevPrev hack is here because .../java often points to .java_wrapper.
							 | 
						|||
| 
								 | 
							
										# at the end of the resolution rl_operand actually points to garbage
							 | 
						|||
| 
								 | 
							
										# signifying it is done resolving the link.  So prev is actually .java_wrapper.
							 | 
						|||
| 
								 | 
							
										# but we want the one just before that, its the real vm starting poiint we want
							 | 
						|||
| 
								 | 
							
										#
							 | 
						|||
| 
								 | 
							
										rl_prevOperand="$rl_operand"
							 | 
						|||
| 
								 | 
							
										rl_ls=`$lsCMD -l "$rl_operand"`
							 | 
						|||
| 
								 | 
							
										# get the output ls into a list
							 | 
						|||
| 
								 | 
							
										set x $rl_ls
							 | 
						|||
| 
								 | 
							
										# get rid of x and file info from ls -l
							 | 
						|||
| 
								 | 
							
										shift 9
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										#is this a link?
							 | 
						|||
| 
								 | 
							
										case "$rl_ls" in
							 | 
						|||
| 
								 | 
							
											*"->"*)
							 | 
						|||
| 
								 | 
							
												rl_linked="true"
							 | 
						|||
| 
								 | 
							
												# is a link, shift past the "->"
							 | 
						|||
| 
								 | 
							
												rl_linker=""
							 | 
						|||
| 
								 | 
							
												while [ "$1" != "->" -a $# -gt 1 ]; do
							 | 
						|||
| 
								 | 
							
													rl_linker="$rl_linker $1"
							 | 
						|||
| 
								 | 
							
													shift
							 | 
						|||
| 
								 | 
							
												done
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
												if [ "$1" = "->" ]; then
							 | 
						|||
| 
								 | 
							
													shift
							 | 
						|||
| 
								 | 
							
												fi
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											*)
							 | 
						|||
| 
								 | 
							
												# not a link, the rest must be the targets name
							 | 
						|||
| 
								 | 
							
												rl_linked="false"
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
										esac
							 | 
						|||
| 
								 | 
							
										# now grab what's left 
							 | 
						|||
| 
								 | 
							
										rl_linkee="$*"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										# debugOut "Following link to LAX $rl_linker -> $rl_linkee"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										if [ "$rl_linked" = "true" -a "`basename "$rl_linkee"`" != "$vmScript" ]; then
							 | 
						|||
| 
								 | 
							
											# set to true incase the thing linked to is also a link and we can
							 | 
						|||
| 
								 | 
							
											# try again.  The current think linked to now becomes the operand
							 | 
						|||
| 
								 | 
							
											rl_operand="$rl_linkee"
							 | 
						|||
| 
								 | 
							
											# if the linkee is not abs, make it abs relative to the linker
							 | 
						|||
| 
								 | 
							
											case "$rl_operand" in
							 | 
						|||
| 
								 | 
							
												/*)
							 | 
						|||
| 
								 | 
							
												;;
							 | 
						|||
| 
								 | 
							
												*)
							 | 
						|||
| 
								 | 
							
													rl_operand="$rl_origDir/$rl_operand"
							 | 
						|||
| 
								 | 
							
												;;
							 | 
						|||
| 
								 | 
							
											esac
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											# otherwise, this operand is not a link itself and we are done
							 | 
						|||
| 
								 | 
							
											rl_resolvedLink="$rl_prevOperand"
							 | 
						|||
| 
								 | 
							
											# however, do not resolve the last leg of a VMs linked scripts. this will
							 | 
						|||
| 
								 | 
							
											# disrupt their scripts.  it is expecting a link to the .java* script
							 | 
						|||
| 
								 | 
							
											# let us believe it is not linked and continue on...
							 | 
						|||
| 
								 | 
							
											if [ "`basename "$rl_linkee"`" = "$vmScript" ]; then
							 | 
						|||
| 
								 | 
							
												rl_linked="false"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										# make sure the path returned is absolute
							 | 
						|||
| 
								 | 
							
										case "$rl_operand" in
							 | 
						|||
| 
								 | 
							
											\.\/*)
							 | 
						|||
| 
								 | 
							
												rl_operand="`pwd`/$rl_operand"
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
										esac
							 | 
						|||
| 
								 | 
							
									done
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									# remove "/./" in paths, make it "/"
							 | 
						|||
| 
								 | 
							
									# i,e,  "/a/b/./c" becomes "/a/b/c"
							 | 
						|||
| 
								 | 
							
									resolvedLink=`echo "$rl_resolvedLink" |  sed 's,/\./,/,'`
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								#  FINDING THE LAX FILE
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# If this is an installer, use $seLaxPath
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								debugOut ""
							 | 
						|||
| 
								 | 
							
								debugOut "[7m========= Analyzing LAX ==============================================[0m"
							 | 
						|||
| 
								 | 
							
								olddir=`pwd`
							 | 
						|||
| 
								 | 
							
								resolveLink "$thisScript"
							 | 
						|||
| 
								 | 
							
								absLauncherName="$resolvedLink"
							 | 
						|||
| 
								 | 
							
								cd "`dirname "$absLauncherName"`"
							 | 
						|||
| 
								 | 
							
								if [ "$IS_INSTALLER" != "" ]; then
							 | 
						|||
| 
								 | 
							
									if [ ! -z "$seLaxPath" ]; then
							 | 
						|||
| 
								 | 
							
										propfname="$seLaxPath"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										# legacy for old self-extractors
							 | 
						|||
| 
								 | 
							
										propfname="$templaxpath"
							 | 
						|||
| 
								 | 
							
									fi 
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									propfname="$absLauncherName.lax"
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								if [ ! -r "$propfname" ]; then
							 | 
						|||
| 
								 | 
							
									debugOut "The file "$propfname" could"
							 | 
						|||
| 
								 | 
							
									debugOut "not be found, and the program cannot be run without it."
							 | 
						|||
| 
								 | 
							
									debugOut "Try reinstalling the program."
							 | 
						|||
| 
								 | 
							
									exit;
							 | 
						|||
| 
								 | 
							
								else 
							 | 
						|||
| 
								 | 
							
									debugOut "LAX found............................ OK."
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								# 
							 | 
						|||
| 
								 | 
							
								# READING THE LAX FILE
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								OFS="$IFS"
							 | 
						|||
| 
								 | 
							
								# run prop file through sed calls that do:
							 | 
						|||
| 
								 | 
							
								# 1. transform first '=' on a line into a control-O
							 | 
						|||
| 
								 | 
							
								# 2. transform all other ='s to control-F
							 | 
						|||
| 
								 | 
							
								# 3. transform control-Os back to =
							 | 
						|||
| 
								 | 
							
								# this is to differentiate the lhs=rhs processing from confusing the first = from other
							 | 
						|||
| 
								 | 
							
								# = that might be part of the value.  Later on those =-tranformed-to-control-Fs are
							 | 
						|||
| 
								 | 
							
								# transformed back to = signs.
							 | 
						|||
| 
								 | 
							
								set x `cat "$propfname" | sed -e 's~^\([^\=]*\)\=\(.*\)~\1\\2~g' -e 's~=~~g' -e 's~~=~g' | grep '='`; shift
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								while test $# -gt 0; do
							 | 
						|||
| 
								 | 
							
									# line separator
							 | 
						|||
| 
								 | 
							
									case "x${1}x" in
							 | 
						|||
| 
								 | 
							
										*"="* ) BIFS=" "; ;;
							 | 
						|||
| 
								 | 
							
										*     ) BIFS="" ; ;;
							 | 
						|||
| 
								 | 
							
									esac
							 | 
						|||
| 
								 | 
							
									# word separator
							 | 
						|||
| 
								 | 
							
									case "x${2}x" in
							 | 
						|||
| 
								 | 
							
										*"="* ) AIFS=""; ;;
							 | 
						|||
| 
								 | 
							
										*     ) AIFS=""; ;;
							 | 
						|||
| 
								 | 
							
									esac
							 | 
						|||
| 
								 | 
							
									INPUT="$INPUT$BIFS$1$AIFS"
							 | 
						|||
| 
								 | 
							
									shift
							 | 
						|||
| 
								 | 
							
								done
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								while test "x$INPUT" != "x"; do
							 | 
						|||
| 
								 | 
							
									set x $INPUT; shift
							 | 
						|||
| 
								 | 
							
									X="$1"
							 | 
						|||
| 
								 | 
							
									shift
							 | 
						|||
| 
								 | 
							
									INPUT="$@" 
							 | 
						|||
| 
								 | 
							
									IFS="=$AIFS"
							 | 
						|||
| 
								 | 
							
									set x $X; shift
							 | 
						|||
| 
								 | 
							
									IFS="$OFS"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									lhs="${1}"
							 | 
						|||
| 
								 | 
							
									shift
							 | 
						|||
| 
								 | 
							
									rhs="$@"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									# transform non lhs=rhs delimiting = signs back from ^F to =
							 | 
						|||
| 
								 | 
							
									case "$rhs" in
							 | 
						|||
| 
								 | 
							
										**)
							 | 
						|||
| 
								 | 
							
										rhs=`echo $rhs | sed 's~~=~g'`
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
									esac
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									# assing the values
							 | 
						|||
| 
								 | 
							
									case $lhs in
							 | 
						|||
| 
								 | 
							
										lax.class.path*)
							 | 
						|||
| 
								 | 
							
											lax_class_path="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.main.class*)
							 | 
						|||
| 
								 | 
							
											lax_main_class="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.launcher.main.class*)
							 | 
						|||
| 
								 | 
							
											lax_nl_java_launcher_main_class="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.current.vm*)
							 | 
						|||
| 
								 | 
							
											lax_nl_current_vm="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.user.dir*)
							 | 
						|||
| 
								 | 
							
											lax_user_dir="$rhs"
							 | 
						|||
| 
								 | 
							
											lax_user_dir=`echo $lax_user_dir | sed 's;^[ ]*\(.*\)[ ]*$;\1;'`
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.resource.dir*)
							 | 
						|||
| 
								 | 
							
											lax_resource_dir="$rhs"
							 | 
						|||
| 
								 | 
							
											lax_resource_dir=`echo $lax_resource_dir | sed 's;^[ ]*\(.*\)[ ]*$;\1;'`
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.stdout.redirect*)
							 | 
						|||
| 
								 | 
							
											lax_stdout_redirect="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.stderr.redirect*)
							 | 
						|||
| 
								 | 
							
											lax_stderr_redirect="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.dir*)
							 | 
						|||
| 
								 | 
							
											lax_dir="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.always.ask*)
							 | 
						|||
| 
								 | 
							
											lax_always_ask="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.application.name*)
							 | 
						|||
| 
								 | 
							
											lax_application_name="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.message.vm.not.loaded*)
							 | 
						|||
| 
								 | 
							
											lax_nl_message_vm_loaded="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.valid.vm.list*)
							 | 
						|||
| 
								 | 
							
											# transform an blank value to "ALL"
							 | 
						|||
| 
								 | 
							
											case "$rhs" in
							 | 
						|||
| 
								 | 
							
												"") rhs="ALL"; ;;
							 | 
						|||
| 
								 | 
							
											esac
							 | 
						|||
| 
								 | 
							
											lax_nl_valid_vm_list="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.check.source*)
							 | 
						|||
| 
								 | 
							
											verify="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.verify.mode*)
							 | 
						|||
| 
								 | 
							
											verify_mode="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.verbose*)
							 | 
						|||
| 
								 | 
							
											verbo="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.garbage.collection.extent*)
							 | 
						|||
| 
								 | 
							
											gcxtnt="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.garbage.collection.background.thread*)
							 | 
						|||
| 
								 | 
							
											gcthrd="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.native.stack.size.max*)
							 | 
						|||
| 
								 | 
							
											nsmax="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.java.stack.size.max*)
							 | 
						|||
| 
								 | 
							
											jsmax="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.java.heap.size.max*)
							 | 
						|||
| 
								 | 
							
											jhmax="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.java.heap.size.initial*)
							 | 
						|||
| 
								 | 
							
											jhinit="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.debugging*)
							 | 
						|||
| 
								 | 
							
											debug="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.$cpuName.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_cpuname_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.java.option.additional*)
							 | 
						|||
| 
								 | 
							
											lax_nl_java_option_additional="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										######################################################
							 | 
						|||
| 
								 | 
							
										# tlb 2001-09-18
							 | 
						|||
| 
								 | 
							
										# Reading default UI mode for UNIX
							 | 
						|||
| 
								 | 
							
										lax.installer.unix.ui.default*)
							 | 
						|||
| 
								 | 
							
											lax_installer_unix_ui_default="$rhs"
							 | 
						|||
| 
								 | 
							
										;;		
							 | 
						|||
| 
								 | 
							
										######################################################
							 | 
						|||
| 
								 | 
							
										# JIT overrides
							 | 
						|||
| 
								 | 
							
										lax.nl.unix.JDK_J1.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_unix_JDK_J1_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.unix.JDK_J2.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_unix_JDK_J2_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.unix.JRE_J1.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_unix_JRE_J1_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.unix.JRE_J2.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_unix_JRE_J2_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.unix.J1.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_unix_J1_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.unix.J2.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_unix_J2_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.unix.JRE.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_unix_JRE_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.unix.JDK.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_unix_JDK_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.unix.ALL.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_unix_ALL_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										#
							 | 
						|||
| 
								 | 
							
										lax.nl.JDK_J1.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_JDK_J1_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.JDK_J2.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_JDK_J2_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.JRE_J1.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_JRE_J1_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.JRE_J2.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_JRE_J2_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.J1.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_J1_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.J2.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_J2_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.JRE.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_JRE_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.JDK.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_JDK_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.ALL.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_ALL_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										#
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.JDK_J1.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_JDK_J1_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.JDK_J2.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_JDK_J2_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.JRE_J1.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_JRE_J1_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.JRE_J2.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_JRE_J2_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.J1.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_J1_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.J2.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_J2_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.JRE.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_JRE_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.JDK.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_JDK_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										lax.nl.$osName.ALL.java.compiler*)
							 | 
						|||
| 
								 | 
							
											lax_nl_osname_ALL_java_compiler="$rhs"
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										#
							 | 
						|||
| 
								 | 
							
										# JIT overrides
							 | 
						|||
| 
								 | 
							
										######################################################
							 | 
						|||
| 
								 | 
							
									esac
							 | 
						|||
| 
								 | 
							
								done
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								debugOut "LAX properties read.................. OK."
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								if [ "${lax_class_path:-""}" = "" ]; then
							 | 
						|||
| 
								 | 
							
									debugOut "The classpath specified in the LAX properties file"
							 | 
						|||
| 
								 | 
							
									debugOut "is invalid.  Try reinstalling the program."	
							 | 
						|||
| 
								 | 
							
									exit;
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								if [ "${lax_nl_java_launcher_main_class:-""}" = "" ]; then
							 | 
						|||
| 
								 | 
							
									debugOut "The main class specified in the LAX properties file"
							 | 
						|||
| 
								 | 
							
									debugOut "is invalid.  Try reinstalling the program."
							 | 
						|||
| 
								 | 
							
									exit;
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								if [ ! -z "$INSTALLER_OVERRIDE_VMLIST" ]; then
							 | 
						|||
| 
								 | 
							
									lax_nl_valid_vm_list="$INSTALLER_OVERRIDE_VMLIST"
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								###################################################
							 | 
						|||
| 
								 | 
							
								# tlb 2001-09-18
							 | 
						|||
| 
								 | 
							
								# Making sure the default UNIX UI mode is honored
							 | 
						|||
| 
								 | 
							
								# if overrideDefaultUIMode is not set, which means no commandline
							 | 
						|||
| 
								 | 
							
								# options were entered at the commandline regarding
							 | 
						|||
| 
								 | 
							
								# ui mode, we will look to the LAX file to set a ui
							 | 
						|||
| 
								 | 
							
								# mode. If there is no such setting in the LAX,
							 | 
						|||
| 
								 | 
							
								# which would be an error, we default to GUI.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if [ "$overrideDefaultUIMode" = "false" ]; then
							 | 
						|||
| 
								 | 
							
										if [ -n "$lax_installer_unix_ui_default" -a "$ignoreMode" = "false" ]; then
							 | 
						|||
| 
								 | 
							
											if [ $lax_installer_unix_ui_default = SILENT ]; then
							 | 
						|||
| 
								 | 
							
												isSilent="true"
							 | 
						|||
| 
								 | 
							
												cmdLineArgs="$cmdLineArgs -m SILENT"
							 | 
						|||
| 
								 | 
							
												uimode="silent"
							 | 
						|||
| 
								 | 
							
											elif [ $lax_installer_unix_ui_default = CONSOLE ]; then
							 | 
						|||
| 
								 | 
							
												isConsole="true"
							 | 
						|||
| 
								 | 
							
												cmdLineArgs="$cmdLineArgs -m CONSOLE"
							 | 
						|||
| 
								 | 
							
												uimode="console"
							 | 
						|||
| 
								 | 
							
											elif [ $lax_installer_unix_ui_default = GUI ]; then
							 | 
						|||
| 
								 | 
							
												isSilent="false"
							 | 
						|||
| 
								 | 
							
												isConsole="false"
							 | 
						|||
| 
								 | 
							
												uimode="gui"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# if  user.dir != .   then relative paths on the classpath will be broken.  they
							 | 
						|||
| 
								 | 
							
								# are expecting the pwd to be '.' (meaning the install dir).  If user.dir is
							 | 
						|||
| 
								 | 
							
								# any other directory, it will break
							 | 
						|||
| 
								 | 
							
								lax_class_path=`echo "$lax_class_path" | sed 's^;^:^g'`
							 | 
						|||
| 
								 | 
							
								absInstallDir=`dirname "$absLauncherName"`
							 | 
						|||
| 
								 | 
							
								OFS="$IFS"
							 | 
						|||
| 
								 | 
							
								IFS=":"
							 | 
						|||
| 
								 | 
							
								set x $lax_class_path; shift
							 | 
						|||
| 
								 | 
							
								IFS="$OFS"
							 | 
						|||
| 
								 | 
							
								tmp_lcp=""
							 | 
						|||
| 
								 | 
							
								while test $# -gt 0; do
							 | 
						|||
| 
								 | 
							
									case "$1" in
							 | 
						|||
| 
								 | 
							
										\/*)
							 | 
						|||
| 
								 | 
							
											if [ "$tmp_lcp" = "" ]; then
							 | 
						|||
| 
								 | 
							
												tmp_lcp="$1"
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												tmp_lcp="$tmp_lcp:$1"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										*|*\$ENV_CLASSPATH\$*)
							 | 
						|||
| 
								 | 
							
											if [ "$tmp_lcp" = "" ]; then
							 | 
						|||
| 
								 | 
							
												tmp_lcp="${absInstallDir}/$1"
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												tmp_lcp="$tmp_lcp:${absInstallDir}/$1"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
									esac
							 | 
						|||
| 
								 | 
							
									shift
							 | 
						|||
| 
								 | 
							
								done
							 | 
						|||
| 
								 | 
							
								lax_class_path="$tmp_lcp"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# resolve $ENV_CLASSPATH$
							 | 
						|||
| 
								 | 
							
								OFS="$IFS"
							 | 
						|||
| 
								 | 
							
								IFS=":"
							 | 
						|||
| 
								 | 
							
								set x $lax_class_path; shift
							 | 
						|||
| 
								 | 
							
								IFS="$OFS"
							 | 
						|||
| 
								 | 
							
								tmp_lcp=""
							 | 
						|||
| 
								 | 
							
								while test $# -gt 0; do
							 | 
						|||
| 
								 | 
							
									case "$1" in
							 | 
						|||
| 
								 | 
							
										*\$ENV_CLASSPATH\$*)
							 | 
						|||
| 
								 | 
							
											if [ "$tmp_lcp" = "" ]; then
							 | 
						|||
| 
								 | 
							
												tmp_lcp="$CLASSPATH"
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												tmp_lcp="$tmp_lcp:$CLASSPATH"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
										*)
							 | 
						|||
| 
								 | 
							
											if [ "$tmp_lcp" = "" ]; then
							 | 
						|||
| 
								 | 
							
												tmp_lcp="$1"
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												tmp_lcp="$tmp_lcp:$1"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										;;
							 | 
						|||
| 
								 | 
							
									esac
							 | 
						|||
| 
								 | 
							
									shift
							 | 
						|||
| 
								 | 
							
								done
							 | 
						|||
| 
								 | 
							
								lax_class_path="$tmp_lcp"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								# just incase this the lax was written in DOS, be sure to make all ';' path
							 | 
						|||
| 
								 | 
							
								# separators into :'s or it will fubar the commandline
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								case "$smclp" in
							 | 
						|||
| 
								 | 
							
									*\;*)
							 | 
						|||
| 
								 | 
							
										oldIFS=$IFS
							 | 
						|||
| 
								 | 
							
										IFS=";"
							 | 
						|||
| 
								 | 
							
										for smclp_piece in $smclp; do
							 | 
						|||
| 
								 | 
							
											tmp_smclp="$tmp_smclp:$smclp_piece"
							 | 
						|||
| 
								 | 
							
										done
							 | 
						|||
| 
								 | 
							
										IFS=$oldIFS
							 | 
						|||
| 
								 | 
							
										clp=$tmp_smclp
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
								esac
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								##################################################################
							 | 
						|||
| 
								 | 
							
								# Setting stdout and stderr redirection
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								if [ "$LAX_DEBUG" = "file" -o "$LAX_DEBUG" = "" ]; then
							 | 
						|||
| 
								 | 
							
									echo "lax.stderr.redirect=$lax_stderr_redirect" >> $envPropertiesFile
							 | 
						|||
| 
								 | 
							
									echo "lax.stdout.redirect=$lax_stdout_redirect" >> $envPropertiesFile
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									echo "lax.stderr.redirect=console" >> $envPropertiesFile
							 | 
						|||
| 
								 | 
							
									echo "lax.stdout.redirect=console" >> $envPropertiesFile
							 | 
						|||
| 
								 | 
							
									lax_stdout_redirect="console"
							 | 
						|||
| 
								 | 
							
									lax_stderr_redirect="console"
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								lax_version="16.5"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								validVMtypeList="$lax_nl_valid_vm_list"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# MMA 04.26.2000
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# Added check for validVMtypeList not being set to any value, in
							 | 
						|||
| 
								 | 
							
								# which case we should just set the valid list to all. 
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								if [ "$validVMtypeList" = "ALL" -o "$validVMtypeList" = "" ]; then
							 | 
						|||
| 
								 | 
							
									validVMtypeList=$anyVMlist
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#############################################################
							 | 
						|||
| 
								 | 
							
								# PICK A VALID VM
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								debugOut "" 
							 | 
						|||
| 
								 | 
							
								debugOut "[7m========= Finding VM =================================================[0m"
							 | 
						|||
| 
								 | 
							
								debugOut "[1mValid VM types.......................... $validVMtypeList[0m"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# If the vm gets a relative path, we must make it absolute to the Install
							 | 
						|||
| 
								 | 
							
								#   Directory    tm 3/3
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								if [ ! -z "${lax_nl_current_vm:-""}" ]; then
							 | 
						|||
| 
								 | 
							
									# tlb 2001-09-18 updating the LAX to support CD-ROM installations
							 | 
						|||
| 
								 | 
							
									# the variable `expr "$lax_nl_current_vm" : '\/'` will evaluate to 1 if the path starts with /
							 | 
						|||
| 
								 | 
							
									isAbsPath=`expr "$lax_nl_current_vm" : '\/'`
							 | 
						|||
| 
								 | 
							
								  	if [ "$isAbsPath" = "0" ]; then
							 | 
						|||
| 
								 | 
							
										# When running a CD-ROM installer lax_dir is not set, lax_dir is set by the SEA.
							 | 
						|||
| 
								 | 
							
										# We set it to the working directory if it is not set
							 | 
						|||
| 
								 | 
							
										if [ -z "$lax_dir" ]; then
							 | 
						|||
| 
								 | 
							
											lax_dir=`pwd`
							 | 
						|||
| 
								 | 
							
											abs_lax_nl_current_vm="${lax_dir}"/"${lax_nl_current_vm}"
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											abs_lax_nl_current_vm="${lax_dir}""${lax_nl_current_vm}"
							 | 
						|||
| 
								 | 
							
										fi		
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										abs_lax_nl_current_vm="$lax_nl_current_vm"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									debugOut "Absolute LAX_VM path.................... $abs_lax_nl_current_vm"
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#--------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								# getJavaVersion()
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# $1: path to java executeable
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								#	returns:
							 | 
						|||
| 
								 | 
							
								#		$javaVersion
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								getJavaVersion()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									javaExe=$1
							 | 
						|||
| 
								 | 
							
									javaVersion=` "${javaExe}" -version 2>&1 | $AWK '
							 | 
						|||
| 
								 | 
							
								$3 ~ /"[0-9]\.[0-9]\.[0-9][^"]*"$/ {
							 | 
						|||
| 
								 | 
							
									gsub ("[^0-9._]", "", $3)
							 | 
						|||
| 
								 | 
							
									print $3
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
									' `
							 | 
						|||
| 
								 | 
							
									unset javaExe
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								#--------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#################################################################################
							 | 
						|||
| 
								 | 
							
								# inspectVM()
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# param:      a pathname to a potential VM file, maybe a link
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# returns:    $inspectedVMpath        the real path to the VM file
							 | 
						|||
| 
								 | 
							
								# returns:    $inspectedVMtype        the type of the VM
							 | 
						|||
| 
								 | 
							
								# returns:    $inspectedOldVMtype     ?
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								inspectVM()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									resolveLink "$1"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									inspectee="$resolvedLink"
							 | 
						|||
| 
								 | 
							
									inspecteeDir=`dirname "$inspectee"`
							 | 
						|||
| 
								 | 
							
									inspecteeName=`basename "$inspectee"`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									inspectedVMpath="$inspectee"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									#
							 | 
						|||
| 
								 | 
							
									# is it JDK1.1 , JDK1.2  or JRE1.2?
							 | 
						|||
| 
								 | 
							
									#
							 | 
						|||
| 
								 | 
							
									if [ "$inspecteeName" = "oldjava" ]; then
							 | 
						|||
| 
								 | 
							
										inspectedOldVMtype="OLDJAVA"
							 | 
						|||
| 
								 | 
							
										inspectedVMtype="OLDJAVA"
							 | 
						|||
| 
								 | 
							
									elif [ "$inspecteeName" = "java" ]; then
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										############################################################
							 | 
						|||
| 
								 | 
							
										# Do some OS-specific quirky stuff
							 | 
						|||
| 
								 | 
							
										#
							 | 
						|||
| 
								 | 
							
										# MacOS X / Rhapsody
							 | 
						|||
| 
								 | 
							
										#
							 | 
						|||
| 
								 | 
							
										quirk_classesZip=""
							 | 
						|||
| 
								 | 
							
										if [ "$osName" = "rhapsody" ]; then
							 | 
						|||
| 
								 | 
							
											if [ "`expr "$inspecteeDIR" : ".*JavaVM.framework$"`" != "0" ]; then
							 | 
						|||
| 
								 | 
							
												quirk_classesZip="$file/Classes/classes.jar"
							 | 
						|||
| 
								 | 
							
												inspecteeDir="$inspecteeDir/Home/bin"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										# END OS quirky stuff
							 | 
						|||
| 
								 | 
							
										############################################################
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										#
							 | 
						|||
| 
								 | 
							
										# is it JDK1.1?
							 | 
						|||
| 
								 | 
							
										# 
							 | 
						|||
| 
								 | 
							
										if [ -r "$inspecteeDir/../lib/classes.zip" -o -r "$quirk_classesZip" ]; then
							 | 
						|||
| 
								 | 
							
											inspectedOldVMtype="JDK"
							 | 
						|||
| 
								 | 
							
											inspectedVMtype="JDK_J1"
							 | 
						|||
| 
								 | 
							
											inspectedVMVersion="1.1"
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											# JDK1.2
							 | 
						|||
| 
								 | 
							
											# 
							 | 
						|||
| 
								 | 
							
											# is the "java" JRE1.2 or JDK1.2?
							 | 
						|||
| 
								 | 
							
											#
							 | 
						|||
| 
								 | 
							
											if [ -r "$inspecteeDir/../lib/dt.jar" ]
							 | 
						|||
| 
								 | 
							
											then
							 | 
						|||
| 
								 | 
							
												inspectedOldVMtype="D12"
							 | 
						|||
| 
								 | 
							
												inspectedVMtype="JDK_J2"
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												inspectedOldVMtype="R12"
							 | 
						|||
| 
								 | 
							
												inspectedVMtype="JRE_J2"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
											#
							 | 
						|||
| 
								 | 
							
											# find version
							 | 
						|||
| 
								 | 
							
											#
							 | 
						|||
| 
								 | 
							
											if [ -r "$inspecteeDir/pack200" ];
							 | 
						|||
| 
								 | 
							
											then
							 | 
						|||
| 
								 | 
							
												inspectedVMVersion="1.5"
							 | 
						|||
| 
								 | 
							
											elif [ -r "$inspecteeDir/client" -o -r "$inspecteeDir/server" -o -r "$inspecteeDir/../jre/bin/server" -o -r "$inspecteeDir/../jre/bin/server" ];
							 | 
						|||
| 
								 | 
							
											then
							 | 
						|||
| 
								 | 
							
												inspectedVMVersion="1.4"
							 | 
						|||
| 
								 | 
							
											elif [ -r "$inspecteeDir/hotspot" -o -r "$inspecteeDir/../jre/bin/hotspot" ];
							 | 
						|||
| 
								 | 
							
											then
							 | 
						|||
| 
								 | 
							
												inspectedVMVersion="1.3"
							 | 
						|||
| 
								 | 
							
											elif [ -r "$inspecteeDir/classic" ];
							 | 
						|||
| 
								 | 
							
											then
							 | 
						|||
| 
								 | 
							
												inspectedVMVersion="1.2"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
											getJavaVersion $inspectee
							 | 
						|||
| 
								 | 
							
											if [ -n "$javaVersion" ]; then
							 | 
						|||
| 
								 | 
							
												inspectedVMVersion=$javaVersion
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
											unset javaVersion
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									elif [ "$inspecteeName" = "jre" ]; then
							 | 
						|||
| 
								 | 
							
										inspectedOldVMtype="JRE"
							 | 
						|||
| 
								 | 
							
										inspectedVMtype="JRE_J1"
							 | 
						|||
| 
								 | 
							
										inspectedVMVersion="1.1"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										inspectedOldVMtype="UNKNOWN"
							 | 
						|||
| 
								 | 
							
										inspectedVMtype="UNKNOWN"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								###
							 | 
						|||
| 
								 | 
							
								### end inspectVM()
							 | 
						|||
| 
								 | 
							
								###
							 | 
						|||
| 
								 | 
							
								########################################################################################
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# massage valid VM list.  Expand inclusive types (i.e. JRE = JRE_J1 and JRE_J2 )
							 | 
						|||
| 
								 | 
							
								tmpValidVMlist=""
							 | 
						|||
| 
								 | 
							
								for type in $validVMtypeList; do
							 | 
						|||
| 
								 | 
							
									case $type in
							 | 
						|||
| 
								 | 
							
										J1)		tmpValidVMlist="$tmpValidVMlist JRE_J1 JDK_J1" ;;
							 | 
						|||
| 
								 | 
							
										J2)		tmpValidVMlist="$tmpValidVMlist JRE_J2 JDK_J2" ;;
							 | 
						|||
| 
								 | 
							
										JRE)	tmpValidVMlist="$tmpValidVMlist JRE_J2 R12 JRE_J1" ;;
							 | 
						|||
| 
								 | 
							
										JDK)	tmpValidVMlist="$tmpValidVMlist JDK_J2 D12 JDK_J1" ;;
							 | 
						|||
| 
								 | 
							
										*)		tmpValidVMlist="$tmpValidVMlist $type " ;;
							 | 
						|||
| 
								 | 
							
									esac
							 | 
						|||
| 
								 | 
							
								done
							 | 
						|||
| 
								 | 
							
								validVMtypeList="$tmpValidVMlist"
							 | 
						|||
| 
								 | 
							
								debugOut "[1mExpanded Valid VM types................. $validVMtypeList[0m"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#--------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								#	strictCheck
							 | 
						|||
| 
								 | 
							
								# 	checks that the version passed in matches the 'strict vm
							 | 
						|||
| 
								 | 
							
								#		selection pattern'
							 | 
						|||
| 
								 | 
							
								# 
							 | 
						|||
| 
								 | 
							
								# $1: vm version
							 | 
						|||
| 
								 | 
							
								# $2: pattern to match
							 | 
						|||
| 
								 | 
							
								# $3: vm type list
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# returns:
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# exit status:
							 | 
						|||
| 
								 | 
							
								#		0 on match, 1 otherwise
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								strictCheck()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									vmVersion=$1
							 | 
						|||
| 
								 | 
							
									pattern=$2
							 | 
						|||
| 
								 | 
							
									types=$3
							 | 
						|||
| 
								 | 
							
									eval `$AWK '
							 | 
						|||
| 
								 | 
							
								BEGIN {
							 | 
						|||
| 
								 | 
							
									if ( ARGV[1] ~ /^(JDK|JRE)_/ ) {
							 | 
						|||
| 
								 | 
							
										printf ("version=%s\ntype=%s\n", substr(ARGV[1],5), substr(ARGV[1], 1, 3) );
							 | 
						|||
| 
								 | 
							
									} else {
							 | 
						|||
| 
								 | 
							
										printf ("version=%s\ntype=%s\n",ARGV[1],"none");
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
									' $pattern`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									$AWK '
							 | 
						|||
| 
								 | 
							
								function asNum(s) {
							 | 
						|||
| 
								 | 
							
									return s+0;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								function versionToNumber(verStr) {
							 | 
						|||
| 
								 | 
							
								    split(verStr, verVec, "[._+*]");
							 | 
						|||
| 
								 | 
							
								    return (asNum(verVec[1]) * 1000000) + \
							 | 
						|||
| 
								 | 
							
								           (asNum(verVec[2]) * 10000)   + \
							 | 
						|||
| 
								 | 
							
								           (asNum(verVec[3]) * 100)     + \
							 | 
						|||
| 
								 | 
							
								            asNum(verVec[4]);
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								function subVersionOf(version, pattern) {
							 | 
						|||
| 
								 | 
							
										pString = sprintf("%0.8d", pattern);
							 | 
						|||
| 
								 | 
							
										vString = sprintf("%0.8d", version);
							 | 
						|||
| 
								 | 
							
								    sub( "0+$", "", pString );
							 | 
						|||
| 
								 | 
							
								    return vString ~ "^" + pString;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								BEGIN {
							 | 
						|||
| 
								 | 
							
								    version = versionToNumber( ARGV[1] );
							 | 
						|||
| 
								 | 
							
								    pattern = versionToNumber( ARGV[2] );
							 | 
						|||
| 
								 | 
							
								    op      = substr(ARGV[2],length(ARGV[2]) );
							 | 
						|||
| 
								 | 
							
										if      (op=="+") success = version >= pattern;
							 | 
						|||
| 
								 | 
							
										else if (op=="*") success = subVersionOf(version, pattern);
							 | 
						|||
| 
								 | 
							
										else 							success = version == pattern;
							 | 
						|||
| 
								 | 
							
								    if (success) exit(0);
							 | 
						|||
| 
								 | 
							
								    exit(1);
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
									' "$vmVersion" "$version"
							 | 
						|||
| 
								 | 
							
									success=$?
							 | 
						|||
| 
								 | 
							
									if [ $success = 0 ]; then
							 | 
						|||
| 
								 | 
							
										case "none $types" in
							 | 
						|||
| 
								 | 
							
											*$type*)
							 | 
						|||
| 
								 | 
							
												debugOut "checking: \"$vmVersion\" against \"$pattern\": passed"
							 | 
						|||
| 
								 | 
							
												success=0
							 | 
						|||
| 
								 | 
							
												;;
							 | 
						|||
| 
								 | 
							
											*)
							 | 
						|||
| 
								 | 
							
												debugOut "checking: \"$vmVersion\" against \"$pattern\": failed (wrong type)"
							 | 
						|||
| 
								 | 
							
												success=1
							 | 
						|||
| 
								 | 
							
												;;
							 | 
						|||
| 
								 | 
							
										esac
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										debugOut "checking: \"$vmVersion\" against \"$pattern\": failed (wrong version)"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									return $success
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#---------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								writetab()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									awk '	BEGIN {	processingTag=0 }
							 | 
						|||
| 
								 | 
							
													$0 == "/:" { if (beginprocessingTag == 1) beginprocessingTag=0 ; next }
							 | 
						|||
| 
								 | 
							
													$0 == tag { beginprocessingTag=1; next }
							 | 
						|||
| 
								 | 
							
													{ if (beginprocessingTag == 1) { print $0 >> tab; next } }
							 | 
						|||
| 
								 | 
							
													END { } ' tab="$2" tag="$3" "$1"			
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								pbclr()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									[ -z "$SILENT" ] && {
							 | 
						|||
| 
								 | 
							
										awk ' END {
							 | 
						|||
| 
								 | 
							
											printf("%c",13);
							 | 
						|||
| 
								 | 
							
											printf("%s","          ");
							 | 
						|||
| 
								 | 
							
											i=length(pbmesg);
							 | 
						|||
| 
								 | 
							
											for (k=1 ; k <= i; k++ ) printf("%c",32);
							 | 
						|||
| 
								 | 
							
										}' pbmesg="$pbmesg"  </dev/null 
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								pb()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									[ -z "$SILENT" ] && {
							 | 
						|||
| 
								 | 
							
										awk ' END {
							 | 
						|||
| 
								 | 
							
											printf("%c",13);
							 | 
						|||
| 
								 | 
							
											printf("%s","          ");
							 | 
						|||
| 
								 | 
							
											printf("%s",pbmesg);
							 | 
						|||
| 
								 | 
							
											for (k=1 ; k <= i; k++ )
							 | 
						|||
| 
								 | 
							
												printf("%c",46);
							 | 
						|||
| 
								 | 
							
										}' pbmesg="$pbmesg" i=$pbc </dev/null 
							 | 
						|||
| 
								 | 
							
										pbc=`expr $pbc % 8`
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Timer()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								        ctr=0
							 | 
						|||
| 
								 | 
							
								        sleepCounter=5
							 | 
						|||
| 
								 | 
							
								        [ -n "$SLEEP_COUNTER" ] &&  {
							 | 
						|||
| 
								 | 
							
								                if [ `isNumeric $SLEEP_COUNTER` -eq 0 ] ; then
							 | 
						|||
| 
								 | 
							
								                        sleepCounter=$SLEEP_COUNTER
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                        echo "Please specify a numeric value with -is:jvmtimer"
							 | 
						|||
| 
								 | 
							
								                fi
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        while [ $ctr -lt $sleepCounter ] ; do
							 | 
						|||
| 
								 | 
							
								                alive=`ps -ef | grep $1 | grep -v grep | wc -l 2>/dev/null`
							 | 
						|||
| 
								 | 
							
								                if [ $alive != "0" ] ; then
							 | 
						|||
| 
								 | 
							
								                        sleep 1
							 | 
						|||
| 
								 | 
							
								                	ctr=`expr $ctr + 1`
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                        return
							 | 
						|||
| 
								 | 
							
								                fi
							 | 
						|||
| 
								 | 
							
								        done
							 | 
						|||
| 
								 | 
							
								        foo=`kill -9 $1 > /dev/null 2>&1`
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								VerifyJVM()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									pbclr
							 | 
						|||
| 
								 | 
							
									pbmesg="Verifying JVM"
							 | 
						|||
| 
								 | 
							
								 	pb
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									[ ! -f "$INSTALLER_DATA_DIR/jvmspecs/Verify.jar" ]
							 | 
						|||
| 
								 | 
							
									 awk '	BEGIN {	begin=0; i=1 }
							 | 
						|||
| 
								 | 
							
													$0 == "/:" {	if (begin == 1) begin=0 ;	next; }
							 | 
						|||
| 
								 | 
							
													$0 == tag {	 begin=1; 	next;	}
							 | 
						|||
| 
								 | 
							
													{ if (begin== 1) { item[i]=$0; 	i++; 	next;	}	}
							 | 
						|||
| 
								 | 
							
													END { for (k=1; k < i; k++)  print item[k] >> tab; } '  tab="$IATEMP/sp" tag="JVM_PROPERTIES:"  "$1" 2>/dev/null
							 | 
						|||
| 
								 | 
							
									if [ -f "$IATEMP/sp" ] ; then 	
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										spc=`wc -l "$IATEMP/sp" | awk '{ print $1 }'` 
							 | 
						|||
| 
								 | 
							
										spcc=1
							 | 
						|||
| 
								 | 
							
										systemprops=
							 | 
						|||
| 
								 | 
							
										while [ $spcc -le $spc ] ; do 
							 | 
						|||
| 
								 | 
							
											spl=`sed -n -e "${spcc}p"  "$IATEMP/sp"`
							 | 
						|||
| 
								 | 
							
											spl=`echo "$spl" | sed 's/\"//g'`
							 | 
						|||
| 
								 | 
							
											systemprops=`awk 'END { i=index(spl,"="); s=substr(spl,1,i-1); ss=sprintf("%s %s", sp, s); print ss; } ' spl="$spl" sp="$systemprops" </dev/null 2>/dev/null`
							 | 
						|||
| 
								 | 
							
											spcc=`expr $spcc + 1`			
							 | 
						|||
| 
								 | 
							
										done
							 | 
						|||
| 
								 | 
							
										jvm_classpath=
							 | 
						|||
| 
								 | 
							
										cp_switch=`awk 'BEGIN{ FS=":"}  $1 == tag { print $2; exit; }' tag=CLASSPATH $1`
							 | 
						|||
| 
								 | 
							
										cp_switch=`echo "$cp_switch" | sed 's/\"//g'`
							 | 
						|||
| 
								 | 
							
										jvm_classpath=`awk 'BEGIN { FS=":" }  $1 == tag { i=index($0,":"); s=substr($0,i+1); print s; exit; }' tag=JVM_CLASSPATH $1`
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										debugOut "---"
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if [ -z "$jvm_classpath" ] ; then 
							 | 
						|||
| 
								 | 
							
											debugOut "Verifying1... $2 $cp_switch $INSTALLER_DATA_DIR/jvmspecs/Verify.jar Verify $systemprops"
							 | 
						|||
| 
								 | 
							
											eval "\"$2\"" $cp_switch "$INSTALLER_DATA_DIR/jvmspecs/Verify.jar" Verify $systemprops 1>"$IATEMP/jvmout" 2>/dev/null&
							 | 
						|||
| 
								 | 
							
											bgpid=$!
							 | 
						|||
| 
								 | 
							
											Timer $bgpid&
							 | 
						|||
| 
								 | 
							
											wait $bgpid 1>/dev/null 2>&1
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											jb=`awk 'BEGIN { FS=":" }  $1 == tag { i=index($0,":"); s=substr($0,i+1); print s; exit; }' tag=JVM_EXE $1 2>/dev/null`
							 | 
						|||
| 
								 | 
							
											jb=`echo "$jb" | sed 's/^[ ]*//;s/[ ]*$//;s/^[	]*//;s/[	]*$//'`
							 | 
						|||
| 
								 | 
							
											jb=`echo "$jb" | sed 's/\//\\\\\//g'`
							 | 
						|||
| 
								 | 
							
											JVM_HOME=`echo "$2"  | sed "s/${jb}//"`
							 | 
						|||
| 
								 | 
							
											eval jvm_classpath="$jvm_classpath"
							 | 
						|||
| 
								 | 
							
											debugOut "Verifying2... $2 $cp_switch $jvm_classpath:$INSTALLER_DATA_DIR/jvmspecs/Verify.jar Verify $systemprops"
							 | 
						|||
| 
								 | 
							
											eval "\"$2\"" $cp_switch "$jvm_classpath":"$INSTALLER_DATA_DIR/jvmspecs/Verify.jar" Verify $systemprops 1>"$IATEMP/jvmout" 2>/dev/null&
							 | 
						|||
| 
								 | 
							
											bgpid=$!
							 | 
						|||
| 
								 | 
							
											Timer $bgpid&
							 | 
						|||
| 
								 | 
							
											wait $bgpid 1>/dev/null 2>&1
							 | 
						|||
| 
								 | 
							
											JVM_HOME=
							 | 
						|||
| 
								 | 
							
										fi 
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if [ -f "$IATEMP/jvmout" ] ; then 
							 | 
						|||
| 
								 | 
							
										spc=`wc -l "$IATEMP/sp" | awk '{ print $1 }'` 
							 | 
						|||
| 
								 | 
							
											spcc=1
							 | 
						|||
| 
								 | 
							
											systemprops=
							 | 
						|||
| 
								 | 
							
											while [ $spcc -le $spc ] ; do 
							 | 
						|||
| 
								 | 
							
												spl=`sed -n -e "${spcc}p"  "$IATEMP/sp"`
							 | 
						|||
| 
								 | 
							
												spl=`echo $spl | sed 's/\"//g'`
							 | 
						|||
| 
								 | 
							
												jvmfilevalue=`awk 'END { i=index(spl,"="); s=substr(spl,i+1); print s } ' spl="$spl" sp="$systemprops" </dev/null 2>/dev/null`
							 | 
						|||
| 
								 | 
							
												jvmoutc=`expr $spcc + 1`
							 | 
						|||
| 
								 | 
							
												jvmout=`sed -n -e "${jvmoutc}p"  "$IATEMP/jvmout"`		
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
												var_verifyJVM=`awk ' END {
							 | 
						|||
| 
								 | 
							
													exactMatch=1
							 | 
						|||
| 
								 | 
							
													var_verifyJVM=2
							 | 
						|||
| 
								 | 
							
													len = length(jvmfilevalue)
							 | 
						|||
| 
								 | 
							
													for (k = len ; k >len-3 ; k--) {
							 | 
						|||
| 
								 | 
							
														char=substr(jvmfilevalue, k, 1);
							 | 
						|||
| 
								 | 
							
														s = sprintf("%s%s", s,char);
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
													if (length(s) == length("...")) {
							 | 
						|||
| 
								 | 
							
														if ( index(s, "...") == 1) {
							 | 
						|||
| 
								 | 
							
															exactMatch=0
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
													if (exactMatch == 1) {
							 | 
						|||
| 
								 | 
							
														if ( (length(jvmfilevalue) == length(jvmout)) && (index(jvmfilevalue, jvmout) == 1) ) 	var_verifyJVM=0
							 | 
						|||
| 
								 | 
							
													} else  {
							 | 
						|||
| 
								 | 
							
														jvmfilevalue_prefix=substr(jvmfilevalue, 1, len-3)
							 | 
						|||
| 
								 | 
							
														if (index(jvmout,jvmfilevalue_prefix) == 1 ) var_verifyJVM=0
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
													if (length(iaVV) > 0) {
							 | 
						|||
| 
								 | 
							
														printf("jvm system property specified in jvm file=%s\n",jvmfilevalue) >> ilog
							 | 
						|||
| 
								 | 
							
														printf("jvm system property from running Verify diagnostics on the JVM=%s\n",jvmout) >> ilog
							 | 
						|||
| 
								 | 
							
														if (var_verifyJVM == 0) {
							 | 
						|||
| 
								 | 
							
															if (exactMatch == 1) {
							 | 
						|||
| 
								 | 
							
																print "exact match of system property succeeded" >> ilog	
							 | 
						|||
| 
								 | 
							
															} else {
							 | 
						|||
| 
								 | 
							
																print "non-exact match of system property succeeded" >> ilog	
							 | 
						|||
| 
								 | 
							
															}
							 | 
						|||
| 
								 | 
							
														} else {
							 | 
						|||
| 
								 | 
							
															if (exactMatch == 1) {
							 | 
						|||
| 
								 | 
							
																print "exact match of system property failed" >> ilog	
							 | 
						|||
| 
								 | 
							
															}
							 | 
						|||
| 
								 | 
							
															else {
							 | 
						|||
| 
								 | 
							
																print "non-exact match of system property failed" >> ilog	
							 | 
						|||
| 
								 | 
							
															}
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
													print var_verifyJVM
							 | 
						|||
| 
								 | 
							
												} ' jvmout="$jvmout" jvmfilevalue="$jvmfilevalue" iaVV="$iaVV" ilog="$LOG" </dev/null 2>/dev/null`
							 | 
						|||
| 
								 | 
							
												if [ "$var_verifyJVM" != "0" ] ; then 
							 | 
						|||
| 
								 | 
							
													break
							 | 
						|||
| 
								 | 
							
												fi 
							 | 
						|||
| 
								 | 
							
												spcc=`expr $spcc + 1`
							 | 
						|||
| 
								 | 
							
											done
							 | 
						|||
| 
								 | 
							
										else 
							 | 
						|||
| 
								 | 
							
											debugOut "$IATEMP/jvmout does not exist. JVM Verification process may have failed."
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										debugOut "system properties are not specified in "$1""
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									rm -f "$IATEMP/sp"	
							 | 
						|||
| 
								 | 
							
									rm -f "$IATEMP/jvmout"
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								preparePlatformHintFile()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									JVM_FILE=$1
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									while read fileLine
							 | 
						|||
| 
								 | 
							
									do
							 | 
						|||
| 
								 | 
							
								        eachLine=`echo $fileLine`
							 | 
						|||
| 
								 | 
							
								        if [ "$eachLine" = "PLATFORM_HINT:" ] ; then
							 | 
						|||
| 
								 | 
							
											flag=0
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if [ "$flag" = 0 ] ; then
							 | 
						|||
| 
								 | 
							
											echo $eachLine >> $PLATFORM_HINT_FILE
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
								        if [ "$eachLine" = "/:" ] ; then
							 | 
						|||
| 
								 | 
							
											flag=1
							 | 
						|||
| 
								 | 
							
								        fi
							 | 
						|||
| 
								 | 
							
								        
							 | 
						|||
| 
								 | 
							
									done < $JVM_FILE
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									#sed -i 's/^PLATFORM_HINT://' $PLATFORM_HINT_FILE
							 | 
						|||
| 
								 | 
							
									sed 's/^PLATFORM_HINT://' $PLATFORM_HINT_FILE > $PLATFORM_HINT_FILE.tmp
							 | 
						|||
| 
								 | 
							
									mv $PLATFORM_HINT_FILE.tmp $PLATFORM_HINT_FILE
							 | 
						|||
| 
								 | 
							
									#sed -i 's/^\/://' $PLATFORM_HINT_FILE
							 | 
						|||
| 
								 | 
							
									sed 's/^\/://' $PLATFORM_HINT_FILE > $PLATFORM_HINT_FILE.tmp
							 | 
						|||
| 
								 | 
							
									mv $PLATFORM_HINT_FILE.tmp $PLATFORM_HINT_FILE
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								searchPlatformHints()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									debugOut "Checking the environment variables specifed in the JVM spec files to find the JVM..." 
							 | 
						|||
| 
								 | 
							
									DOT_JVM_FILE=$1
							 | 
						|||
| 
								 | 
							
									preparePlatformHintFile "$DOT_JVM_FILE"
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ ! -f /tmp/tmpActvmFile ] ; then
							 | 
						|||
| 
								 | 
							
										touch /tmp/tmpActvmFile
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									envVarValue=""
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									while read fileLine
							 | 
						|||
| 
								 | 
							
									do
							 | 
						|||
| 
								 | 
							
										eachLine=`echo $fileLine`
							 | 
						|||
| 
								 | 
							
								        if [ ! -z "$eachLine" ] ; then
							 | 
						|||
| 
								 | 
							
											envVarValue=`env | grep $eachLine | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
								            if [ -x $envVarValue/$JVM_EXE ] ; then
							 | 
						|||
| 
								 | 
							
												VerifyJVM "$DOT_JVM_FILE" "$envVarValue/$JVM_EXE"
							 | 
						|||
| 
								 | 
							
												if [ "$var_verifyJVM" = "0" ] ; then
							 | 
						|||
| 
								 | 
							
													actvm="$envVarValue/$JVM_EXE"
							 | 
						|||
| 
								 | 
							
													echo $actvm > /tmp/tmpActvmFile
							 | 
						|||
| 
								 | 
							
													var_searchAndverify=0
							 | 
						|||
| 
								 | 
							
													var_searchAndverifyJvm=0
							 | 
						|||
| 
								 | 
							
													debugOut "Verification passed for $envVarValue/$JVM_EXE using JVM file $DOT_JVM_FILE using PLATFORM_HINT section"
							 | 
						|||
| 
								 | 
							
													break
							 | 
						|||
| 
								 | 
							
												else
							 | 
						|||
| 
								 | 
							
													var_searchAndverifyJvm=2
							 | 
						|||
| 
								 | 
							
													debugOut "Verification failed for $envVarValue/$JVM_EXE using JVM file $DOT_JVM_FILE using PLATFORM_HINT section"
							 | 
						|||
| 
								 | 
							
												fi
							 | 
						|||
| 
								 | 
							
											elif [ -x $envVarValue/jre/$JVM_EXE ] ; then
							 | 
						|||
| 
								 | 
							
												VerifyJVM "$DOT_JVM_FILE" "$envVarValue/jre/$JVM_EXE"
							 | 
						|||
| 
								 | 
							
												if [ "$var_verifyJVM" = "0" ] ; then
							 | 
						|||
| 
								 | 
							
													actvm="$envVarValue/jre/$JVM_EXE"
							 | 
						|||
| 
								 | 
							
													echo $actvm > /tmp/tmpActvmFile
							 | 
						|||
| 
								 | 
							
													var_searchAndverify=0
							 | 
						|||
| 
								 | 
							
													var_searchAndverifyJvm=0
							 | 
						|||
| 
								 | 
							
													debugOut "Verification passed for $envVarValue/jre/$JVM_EXE using JVM file $DOT_JVM_FILE using PLATFORM_HINT section"
							 | 
						|||
| 
								 | 
							
													break
							 | 
						|||
| 
								 | 
							
												else
							 | 
						|||
| 
								 | 
							
													var_searchAndverifyJvm=2
							 | 
						|||
| 
								 | 
							
													debugOut "Verification failed for $envVarValue/jre/$JVM_EXE using JVM file $DOT_JVM_FILE using PLATFORM_HINT section"
							 | 
						|||
| 
								 | 
							
												fi
							 | 
						|||
| 
								 | 
							
								            fi
							 | 
						|||
| 
								 | 
							
								        fi
							 | 
						|||
| 
								 | 
							
									done < $PLATFORM_HINT_FILE
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									actvm=`cat /tmp/tmpActvmFile`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if [ -f /tmp/tmpActvmFile ] ; then
							 | 
						|||
| 
								 | 
							
										rm -rf /tmp/tmpActvmFile
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ -f "$PLATFORM_HINT_FILE" ] ; then
							 | 
						|||
| 
								 | 
							
										rm -f $PLATFORM_HINT_FILE
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								searchPathHints()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									writetab "$1"  "$IATEMP/pathHint" "PATH_HINT:"
							 | 
						|||
| 
								 | 
							
									installerPath=
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ -f "$IATEMP/pathHint" ] ; then
							 | 
						|||
| 
								 | 
							
										debugOut "using path hints in the JVM file $1"
							 | 
						|||
| 
								 | 
							
										pathHintc=`wc -l "$IATEMP/pathHint" | awk '{ print $1 }'`
							 | 
						|||
| 
								 | 
							
										pathHintcc=1
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										while [ $pathHintcc -le $pathHintc ] ; do
							 | 
						|||
| 
								 | 
							
											pbc=`expr $pbc + 1`
							 | 
						|||
| 
								 | 
							
											pb
							 | 
						|||
| 
								 | 
							
											PathHint=`sed -n -e "${pathHintcc}p;s/^[ ]*//;s/[ ]*$//" "$IATEMP/pathHint"`
							 | 
						|||
| 
								 | 
							
											pathSep=`echo $PathHint | grep "^/" | wc -l`
							 | 
						|||
| 
								 | 
							
								            char='.'
							 | 
						|||
| 
								 | 
							
											count=0
							 | 
						|||
| 
								 | 
							
											i=1
							 | 
						|||
| 
								 | 
							
											#if [[ "$PathHint" =~ "../" ]]; then
							 | 
						|||
| 
								 | 
							
											case "$PathHint" in
							 | 
						|||
| 
								 | 
							
												*../*)
							 | 
						|||
| 
								 | 
							
													seaLocPath=$lax_user_dir/sea_loc
							 | 
						|||
| 
								 | 
							
													while IFS='|' read -r LINE
							 | 
						|||
| 
								 | 
							
													do
							 | 
						|||
| 
								 | 
							
														installerPath=$LINE
							 | 
						|||
| 
								 | 
							
														break
							 | 
						|||
| 
								 | 
							
													done < $seaLocPath
							 | 
						|||
| 
								 | 
							
													len=`expr length $PathHint`
							 | 
						|||
| 
								 | 
							
													pathLength=`expr $len + 1`
							 | 
						|||
| 
								 | 
							
													while [ $i -le $len ]
							 | 
						|||
| 
								 | 
							
													do
							 | 
						|||
| 
								 | 
							
														cchar=`expr substr $PathHint $i 1`
							 | 
						|||
| 
								 | 
							
														if [ $char = $cchar ]
							 | 
						|||
| 
								 | 
							
														then
							 | 
						|||
| 
								 | 
							
															count=`expr $count + 1 `
							 | 
						|||
| 
								 | 
							
														fi	
							 | 
						|||
| 
								 | 
							
														i=`expr $i + 1`
							 | 
						|||
| 
								 | 
							
													done
							 | 
						|||
| 
								 | 
							
													if [ $count -gt 0 ]
							 | 
						|||
| 
								 | 
							
													then
							 | 
						|||
| 
								 | 
							
														newcount=`expr $count / 2`
							 | 
						|||
| 
								 | 
							
														mat='../'
							 | 
						|||
| 
								 | 
							
														res=${PathHint//$mat}
							 | 
						|||
| 
								 | 
							
														j=0
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														while [ $newcount -gt $j ]
							 | 
						|||
| 
								 | 
							
														do	
							 | 
						|||
| 
								 | 
							
															val="/*"
							 | 
						|||
| 
								 | 
							
															installerPath=${installerPath%$val}
							 | 
						|||
| 
								 | 
							
															newcount=`expr $newcount - 1`
							 | 
						|||
| 
								 | 
							
														done
							 | 
						|||
| 
								 | 
							
													fi
							 | 
						|||
| 
								 | 
							
													if [ $count -gt $j ]
							 | 
						|||
| 
								 | 
							
													then
							 | 
						|||
| 
								 | 
							
														PathHint="$installerPath/$res"
							 | 
						|||
| 
								 | 
							
													fi
							 | 
						|||
| 
								 | 
							
												;;
							 | 
						|||
| 
								 | 
							
											esac
							 | 
						|||
| 
								 | 
							
											#fi
							 | 
						|||
| 
								 | 
							
								           IS_RELATIVE=0
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
											if [ -f "$1.fr" ] ; then 
							 | 
						|||
| 
								 | 
							
												rm -f "$1.fr"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											debugOut "Checking whether the passed pathhint is a directory"
							 | 
						|||
| 
								 | 
							
											if [ -d "$PathHint" ] ; then 
							 | 
						|||
| 
								 | 
							
												for x in $PathHint ; 
							 | 
						|||
| 
								 | 
							
												do 
							 | 
						|||
| 
								 | 
							
													if [ -x "$x/$JVM_EXE" ] ; then 
							 | 
						|||
| 
								 | 
							
														echo "$x/$JVM_EXE" >> "$1.fr.shellxpansion"
							 | 
						|||
| 
								 | 
							
													else
							 | 
						|||
| 
								 | 
							
														 var_searchAndverifyJvm=2
							 | 
						|||
| 
								 | 
							
													fi
							 | 
						|||
| 
								 | 
							
													if [ -x "$x/jre/$JVM_EXE" ] ; then 
							 | 
						|||
| 
								 | 
							
														echo "$x/jre/$JVM_EXE" >> "$1.fr.shellxpansion"
							 | 
						|||
| 
								 | 
							
													else
							 | 
						|||
| 
								 | 
							
														 var_searchAndverifyJvm=2
							 | 
						|||
| 
								 | 
							
													fi
							 | 
						|||
| 
								 | 
							
												done
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											find  $PathHint/$JVM_EXE  > "$1.fr.findcommand" 2>/dev/null
							 | 
						|||
| 
								 | 
							
											if [ $? -eq 0 ] ; then 
							 | 
						|||
| 
								 | 
							
												if [ -f  "$1.fr.findcommand" ] ; then 
							 | 
						|||
| 
								 | 
							
													frc=`wc -l "$1.fr.findcommand" | awk '{ print $1 }'` 
							 | 
						|||
| 
								 | 
							
													frcc=1
							 | 
						|||
| 
								 | 
							
													while [ $frcc -le $frc ] ; do
							 | 
						|||
| 
								 | 
							
														frl=`sed -n -e "${frcc}p" "$1.fr.findcommand"`
							 | 
						|||
| 
								 | 
							
														grep "$frl" "$1.fr.shellxpansion" 1>/dev/null 2>&1
							 | 
						|||
| 
								 | 
							
														if [ $? -ne 0 ] ; then 
							 | 
						|||
| 
								 | 
							
														 echo "$frl" >> "$1.fr.shellxpansion"
							 | 
						|||
| 
								 | 
							
														fi
							 | 
						|||
| 
								 | 
							
														
							 | 
						|||
| 
								 | 
							
														frcc=`expr $frcc + 1` 	
							 | 
						|||
| 
								 | 
							
													done
							 | 
						|||
| 
								 | 
							
												fi
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												 var_searchAndverifyJvm=2
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											if [ -f  "$1.fr.findcommand" ] ; then 
							 | 
						|||
| 
								 | 
							
												rm -f "$1.fr.findcommand"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											if [ -f  "$1.fr.shellxpansion" ] ; then 
							 | 
						|||
| 
								 | 
							
												mv  "$1.fr.shellxpansion" "$1.fr"
							 | 
						|||
| 
								 | 
							
												rm -f "$1.fr.shellxpansion"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											if [ -f "$1.fr" ] ; then 
							 | 
						|||
| 
								 | 
							
												frc=`wc -l "$1.fr" | awk '{ print $1 }'` 
							 | 
						|||
| 
								 | 
							
												frcc=1
							 | 
						|||
| 
								 | 
							
												while [ $frcc -le $frc ] ; do
							 | 
						|||
| 
								 | 
							
													frl=`sed -n -e "${frcc}p" "$1.fr"`
							 | 
						|||
| 
								 | 
							
													jvm_exe=`echo $JVM_EXE | sed 's/\//\\\\\//g'`
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													# $1 is the *.jvm file and $frl is the resolved jvm path from the path hint taken one at a time for e.g.
							 | 
						|||
| 
								 | 
							
													# params to verify jvmspecs/ibm_aix_15x.jvm /usr/java14/bin/java
							 | 
						|||
| 
								 | 
							
													# params to verify jvmspecs/ibm_aix_15x.jvm /usr/java14/jre/bin/java
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
													VerifyJVM "$1" "$frl"
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
													debugOut " === verify=$var_verifyJVM"
							 | 
						|||
| 
								 | 
							
													if [ "$var_verifyJVM" = "0" ] ; then 
							 | 
						|||
| 
								 | 
							
														debugOut " &&& $1"
							 | 
						|||
| 
								 | 
							
														J=`echo "$frl"  | sed "s/${jvm_exe}//"`
							 | 
						|||
| 
								 | 
							
														J=`echo "$J" | sed 's/^[ ]*//;s/[ ]*$//;s/^[	]*//;s/[	]*$//'`
							 | 
						|||
| 
								 | 
							
														echo "JVM_HOME:$J" >> "$1"
							 | 
						|||
| 
								 | 
							
														RESOLVED_JVM="$1"
							 | 
						|||
| 
								 | 
							
														actvm="$J"/bin/java
							 | 
						|||
| 
								 | 
							
														if [ $IS_RELATIVE -eq 1 ] ; then
							 | 
						|||
| 
								 | 
							
															IS_JVM_TEMP=1
							 | 
						|||
| 
								 | 
							
															DESTINATION_DIR=$MEDIA_DIR
							 | 
						|||
| 
								 | 
							
														fi
							 | 
						|||
| 
								 | 
							
														var_searchAndverify=0
							 | 
						|||
| 
								 | 
							
														var_searchAndverifyJvm=0
							 | 
						|||
| 
								 | 
							
														debugOut "Verification passed for $frl  using the JVM file $1." 
							 | 
						|||
| 
								 | 
							
														rm -f "$1.fr"
							 | 
						|||
| 
								 | 
							
														return
							 | 
						|||
| 
								 | 
							
													else
							 | 
						|||
| 
								 | 
							
														var_searchAndverifyJvm=2
							 | 
						|||
| 
								 | 
							
														debugOut "Verification failed for $frl using the JVM file $1."
							 | 
						|||
| 
								 | 
							
													fi 
							 | 
						|||
| 
								 | 
							
													frcc=`expr $frcc + 1` 	
							 | 
						|||
| 
								 | 
							
												done
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												 debugOut "find result is empty for the pathhint=$PathHint"
							 | 
						|||
| 
								 | 
							
											fi			
							 | 
						|||
| 
								 | 
							
											pathHintcc=`expr $pathHintcc  + 1`
							 | 
						|||
| 
								 | 
							
										done
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#function to search and verify a valid JVM as specified in the .jvm file
							 | 
						|||
| 
								 | 
							
								searchAndVerifyJVM()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									debugOut "Searching for a JVM using $1 If found, will verify"
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ -f "$IATEMP/pathHint" ] ; then 
							 | 
						|||
| 
								 | 
							
										rm -f "$IATEMP/pathHint"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									JVM_EXE=`awk ' BEGIN { FS=":" } /^JVM_EXE/ { print $2; exit }' "$1" 2>/dev/null`
							 | 
						|||
| 
								 | 
							
									JVM_EXE=`echo "$JVM_EXE" | sed 's/^[ ]*//;s/[ ]*$//;s/^[	]*//;s/[	]*$//;s/\"//g'`
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ -z "$JVM_EXE" ] ; then 
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										var_searchAndverifyJvm=0
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									#Search using PLATFORM_HINT section in the spec file
							 | 
						|||
| 
								 | 
							
									searchPlatformHints $1
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									#Search using PATH_HINT section in the spec file only if PLATFORM_HINT search doesn't yield any result
							 | 
						|||
| 
								 | 
							
									if [ -z "$actvm" ] ; then
							 | 
						|||
| 
								 | 
							
										debugOut "PLATFORM_HINT did not find any suitable JVM. Searching for JVM using PATH_HINT section"
							 | 
						|||
| 
								 | 
							
										searchPathHints $1
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func_ourJVMSearch()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									jvmSpecBuildJvmSpecTotalNum=$1
							 | 
						|||
| 
								 | 
							
									jvmSpecPropFilePath=$2
							 | 
						|||
| 
								 | 
							
									idx=0
							 | 
						|||
| 
								 | 
							
									while [ $idx -lt $jvmSpecBuildJvmSpecTotalNum ] ; do
							 | 
						|||
| 
								 | 
							
										jvmSpecFile_1=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.jvmspec.$idx=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
										jvmSpecFile=$INSTALLER_DATA_DIR/jvmspecs/$jvmSpecFile_1
							 | 
						|||
| 
								 | 
							
										dotJvmFile=`echo $jvmSpecFile | $TR -cd "[:print:]"`
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if [ -f "$dotJvmFile" ] ; then
							 | 
						|||
| 
								 | 
							
											debugOut "JVM Spec file found!!"
							 | 
						|||
| 
								 | 
							
											searchAndVerifyJVM "$dotJvmFile"
							 | 
						|||
| 
								 | 
							
											
							 | 
						|||
| 
								 | 
							
											if [ $var_searchAndverifyJvm -eq 0 ]; then
							 | 
						|||
| 
								 | 
							
												debugOut "jvm found and verification passed for $dotJvmFile."
							 | 
						|||
| 
								 | 
							
												break
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											debugOut "JVM Spec file not found!!"
							 | 
						|||
| 
								 | 
							
										fi 
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										idx=`expr $idx + 1`
							 | 
						|||
| 
								 | 
							
									done
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ -f "$IATEMP/pathHint" ] ; then 
							 | 
						|||
| 
								 | 
							
										rm -f "$IATEMP/pathHint"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func_existingJVMSearch()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									debugOut "Searching without JVM specs"
							 | 
						|||
| 
								 | 
							
								    abs_lax_nl_current_vm=$1
							 | 
						|||
| 
								 | 
							
									inspectedVMtype=$2
							 | 
						|||
| 
								 | 
							
								    inspectedOldVMtype=$3
							 | 
						|||
| 
								 | 
							
									VM_SEARCH_PATH=$4
							 | 
						|||
| 
								 | 
							
									IFS=$5
							 | 
						|||
| 
								 | 
							
									inspectedVMpath=$6
							 | 
						|||
| 
								 | 
							
									inspectedVMVersion=$7
							 | 
						|||
| 
								 | 
							
									validVMtypeList=$8
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									# 1st inspect the  lax.nl.current.vm.  As long as it is in the
							 | 
						|||
| 
								 | 
							
									# valid vm list it takes precedence over everything else.  
							 | 
						|||
| 
								 | 
							
									laxVMisValid="false"
							 | 
						|||
| 
								 | 
							
									# is the lax current vm is specifies
							 | 
						|||
| 
								 | 
							
									if [ ! -z "$abs_lax_nl_current_vm" -a -x "$abs_lax_nl_current_vm" ]; then
							 | 
						|||
| 
								 | 
							
										# inspect it
							 | 
						|||
| 
								 | 
							
										inspectVM "$abs_lax_nl_current_vm"
							 | 
						|||
| 
								 | 
							
										eval laxVMtype="$inspectedVMtype"
							 | 
						|||
| 
								 | 
							
										eval laxOldVMType="$inspectedOldVMtype"
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
										# when VM is specified using the lax.nl.current.vm property or the
							 | 
						|||
| 
								 | 
							
										# LAX_VM command-line option, just accept that VM, no validation is required
							 | 
						|||
| 
								 | 
							
										laxVMisValid="true"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									# if the lax current vm is valid use it
							 | 
						|||
| 
								 | 
							
									if [ "$laxVMisValid" = "true" ]; then
							 | 
						|||
| 
								 | 
							
										# dont overwrite the lax.nl.current.vm  if this one works just fine
							 | 
						|||
| 
								 | 
							
										actvm="$abs_lax_nl_current_vm"
							 | 
						|||
| 
								 | 
							
										actvmType="$laxVMtype"
							 | 
						|||
| 
								 | 
							
										debugOut "* Using VM.....(lax.nl.current.vm)...... $actvm"
							 | 
						|||
| 
								 | 
							
									else	
							 | 
						|||
| 
								 | 
							
									# other wise search the path
							 | 
						|||
| 
								 | 
							
										debugOut "[1mWARNING! No valid lax.nl.current.vm available.[0m"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										# sift through the path to look for VMs
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										# unique the PATH to limit the amount of work; see bug #6285.
							 | 
						|||
| 
								 | 
							
										debugOut "$VM_SEARCH_PATH"
							 | 
						|||
| 
								 | 
							
										uniquedPath=`echo $VM_SEARCH_PATH | $TR ':' '\012'`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										vmNumber=0;
							 | 
						|||
| 
								 | 
							
										OFS="$IFS"
							 | 
						|||
| 
								 | 
							
										IFS=":"
							 | 
						|||
| 
								 | 
							
										set x $uniquedPath; shift
							 | 
						|||
| 
								 | 
							
										IFS="$OFS"
							 | 
						|||
| 
								 | 
							
										debugOut "[1mSearching for VMs in PATH:[0m"
							 | 
						|||
| 
								 | 
							
										for pathDir in $*; do
							 | 
						|||
| 
								 | 
							
											debugOut "Looking in:............................. $pathDir"
							 | 
						|||
| 
								 | 
							
											# For each type of binary vm name
							 | 
						|||
| 
								 | 
							
											for binaryName in java jre oldjava; do
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
												vmPath="$pathDir/$binaryName"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
												# if the binary exists, is executable and is not a directory...
							 | 
						|||
| 
								 | 
							
												if [ -x "$vmPath" -a \( ! -d "$vmPath" \) ]; then
							 | 
						|||
| 
								 | 
							
													debugOut "  Found VM:............................. $vmPath"
							 | 
						|||
| 
								 | 
							
													inspectVM "$vmPath"
							 | 
						|||
| 
								 | 
							
													# set up a Bourne-style array of VM props using var1, var2, etc...
							 | 
						|||
| 
								 | 
							
													eval vmBinary$vmNumber="$inspectedVMpath"
							 | 
						|||
| 
								 | 
							
													eval vmType$vmNumber="$inspectedVMtype"
							 | 
						|||
| 
								 | 
							
													eval oldVMtype$vmNumber="$inspectedOldVMtype"
							 | 
						|||
| 
								 | 
							
													eval vmVersion$vmNumber="$inspectedVMVersion"
							 | 
						|||
| 
								 | 
							
													vmNumber=`expr ${vmNumber:-0} + 1`
							 | 
						|||
| 
								 | 
							
													debugOut "   Version:............................. $inspectedVMVersion"
							 | 
						|||
| 
								 | 
							
												fi
							 | 
						|||
| 
								 | 
							
											done
							 | 
						|||
| 
								 | 
							
										done
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
										#########################################
							 | 
						|||
| 
								 | 
							
										# VERIFY VMS against valid types
							 | 
						|||
| 
								 | 
							
										#
							 | 
						|||
| 
								 | 
							
										actvmType=""
							 | 
						|||
| 
								 | 
							
										vmHighNumber="$vmNumber"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										# for each type of valid VM
							 | 
						|||
| 
								 | 
							
										for validType in $validVMtypeList; do
							 | 
						|||
| 
								 | 
							
											vmNumber="0";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											# run through the list of VMs found
							 | 
						|||
| 
								 | 
							
											while [ "$vmNumber" -lt $vmHighNumber ]; do
							 | 
						|||
| 
								 | 
							
												eval type="$"vmType$vmNumber""
							 | 
						|||
| 
								 | 
							
												eval oldType="$"oldVMtype$vmNumber""
							 | 
						|||
| 
								 | 
							
												eval bin="$"vmBinary$vmNumber""
							 | 
						|||
| 
								 | 
							
												eval version="$"vmVersion$vmNumber""
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
												# if the type of this VM is of '$type' or '$oldType'
							 | 
						|||
| 
								 | 
							
												# make it the actual vm (actvm) to use
							 | 
						|||
| 
								 | 
							
												case "${type} ${oldType}" in
							 | 
						|||
| 
								 | 
							
													*${validType}*)
							 | 
						|||
| 
								 | 
							
														actvm="$bin"
							 | 
						|||
| 
								 | 
							
														actvmType="$type"
							 | 
						|||
| 
								 | 
							
														debugOut "[1m* Using VM:............................. $actvm[0m"
							 | 
						|||
| 
								 | 
							
														break 2
							 | 
						|||
| 
								 | 
							
													;;
							 | 
						|||
| 
								 | 
							
												esac
							 | 
						|||
| 
								 | 
							
												if strictCheck "$version" "$validType" "$type"; then
							 | 
						|||
| 
								 | 
							
														actvm="$bin"
							 | 
						|||
| 
								 | 
							
														actvmType="$type"
							 | 
						|||
| 
								 | 
							
														debugOut "[1m* Using VM:............................. $actvm[0m"
							 | 
						|||
| 
								 | 
							
														break 2
							 | 
						|||
| 
								 | 
							
												fi
							 | 
						|||
| 
								 | 
							
												vmNumber=`expr ${vmNumber:-0} + 1`
							 | 
						|||
| 
								 | 
							
											done
							 | 
						|||
| 
								 | 
							
										done	
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func_existingJVMSearch_WithVMNoSpecFile()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									debugOut "Searching without JVM specs for With VM; if not found, use bundled VM"
							 | 
						|||
| 
								 | 
							
								    abs_lax_nl_current_vm=$1
							 | 
						|||
| 
								 | 
							
									inspectedVMtype=$2
							 | 
						|||
| 
								 | 
							
								    inspectedOldVMtype=$3
							 | 
						|||
| 
								 | 
							
									VM_SEARCH_PATH=$4
							 | 
						|||
| 
								 | 
							
									IFS=$5
							 | 
						|||
| 
								 | 
							
									inspectedVMpath=$6
							 | 
						|||
| 
								 | 
							
									inspectedVMVersion=$7
							 | 
						|||
| 
								 | 
							
									validVMtypeList=$8
							 | 
						|||
| 
								 | 
							
								# other wise search the path
							 | 
						|||
| 
								 | 
							
									debugOut "[1mWARNING! No valid lax.nl.current.vm available.[0m"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									# sift through the path to look for VMs
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									# unique the PATH to limit the amount of work; see bug #6285.
							 | 
						|||
| 
								 | 
							
									debugOut "$VM_SEARCH_PATH"
							 | 
						|||
| 
								 | 
							
									uniquedPath=`echo $VM_SEARCH_PATH | $TR ':' '\012'`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									vmNumber=0;
							 | 
						|||
| 
								 | 
							
									OFS="$IFS"
							 | 
						|||
| 
								 | 
							
									IFS=":"
							 | 
						|||
| 
								 | 
							
									set x $uniquedPath; shift
							 | 
						|||
| 
								 | 
							
									IFS="$OFS"
							 | 
						|||
| 
								 | 
							
									debugOut "[1mSearching for VMs in PATH:[0m"
							 | 
						|||
| 
								 | 
							
									for pathDir in $*; do
							 | 
						|||
| 
								 | 
							
										debugOut "Looking in:............................. $pathDir"
							 | 
						|||
| 
								 | 
							
										# For each type of binary vm name
							 | 
						|||
| 
								 | 
							
										for binaryName in java jre oldjava; do
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											vmPath="$pathDir/$binaryName"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											# if the binary exists, is executable and is not a directory...
							 | 
						|||
| 
								 | 
							
											if [ -x "$vmPath" -a \( ! -d "$vmPath" \) ]; then
							 | 
						|||
| 
								 | 
							
												debugOut "  Found VM:............................. $vmPath"
							 | 
						|||
| 
								 | 
							
												inspectVM "$vmPath"
							 | 
						|||
| 
								 | 
							
												# set up a Bourne-style array of VM props using var1, var2, etc...
							 | 
						|||
| 
								 | 
							
												eval vmBinary$vmNumber="$inspectedVMpath"
							 | 
						|||
| 
								 | 
							
												eval vmType$vmNumber="$inspectedVMtype"
							 | 
						|||
| 
								 | 
							
												eval oldVMtype$vmNumber="$inspectedOldVMtype"
							 | 
						|||
| 
								 | 
							
												eval vmVersion$vmNumber="$inspectedVMVersion"
							 | 
						|||
| 
								 | 
							
												vmNumber=`expr ${vmNumber:-0} + 1`
							 | 
						|||
| 
								 | 
							
												debugOut "   Version:............................. $inspectedVMVersion"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										done
							 | 
						|||
| 
								 | 
							
									done
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									#########################################
							 | 
						|||
| 
								 | 
							
									# VERIFY VMS against valid types
							 | 
						|||
| 
								 | 
							
									#
							 | 
						|||
| 
								 | 
							
									actvmType=""
							 | 
						|||
| 
								 | 
							
									vmHighNumber="$vmNumber"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									# for each type of valid VM
							 | 
						|||
| 
								 | 
							
									for validType in $validVMtypeList; do
							 | 
						|||
| 
								 | 
							
										vmNumber="0";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										# run through the list of VMs found
							 | 
						|||
| 
								 | 
							
										while [ "$vmNumber" -lt $vmHighNumber ]; do
							 | 
						|||
| 
								 | 
							
											eval type="$"vmType$vmNumber""
							 | 
						|||
| 
								 | 
							
											eval oldType="$"oldVMtype$vmNumber""
							 | 
						|||
| 
								 | 
							
											eval bin="$"vmBinary$vmNumber""
							 | 
						|||
| 
								 | 
							
											eval version="$"vmVersion$vmNumber""
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
											# if the type of this VM is of '$type' or '$oldType'
							 | 
						|||
| 
								 | 
							
											# make it the actual vm (actvm) to use
							 | 
						|||
| 
								 | 
							
											case "${type} ${oldType}" in
							 | 
						|||
| 
								 | 
							
												*${validType}*)
							 | 
						|||
| 
								 | 
							
													actvm="$bin"
							 | 
						|||
| 
								 | 
							
													actvmType="$type"
							 | 
						|||
| 
								 | 
							
													debugOut "[1m* Using VM:............................. $actvm[0m"
							 | 
						|||
| 
								 | 
							
													break 2
							 | 
						|||
| 
								 | 
							
												;;
							 | 
						|||
| 
								 | 
							
											esac
							 | 
						|||
| 
								 | 
							
											if strictCheck "$version" "$validType" "$type"; then
							 | 
						|||
| 
								 | 
							
													actvm="$bin"
							 | 
						|||
| 
								 | 
							
													actvmType="$type"
							 | 
						|||
| 
								 | 
							
													debugOut "[1m* Using VM:............................. $actvm[0m"
							 | 
						|||
| 
								 | 
							
													break 2
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
											vmNumber=`expr ${vmNumber:-0} + 1`
							 | 
						|||
| 
								 | 
							
										done
							 | 
						|||
| 
								 | 
							
									done
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func_extract_vm_pack()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									RESOURCE_PATH="$ZIPLOC/$RESOURCE_DIR/resource"
							 | 
						|||
| 
								 | 
							
									JRE_TARZ="$RESOURCE_PATH/vm.tar.Z"
							 | 
						|||
| 
								 | 
							
									JRE_TAR="$RESOURCE_PATH/vm.tar"
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									# save the old directory and switch into the temp directory
							 | 
						|||
| 
								 | 
							
									sePwd=`pwd`
							 | 
						|||
| 
								 | 
							
									cd "$ZIPLOC"
							 | 
						|||
| 
								 | 
							
									# make the platform directory and switch into it
							 | 
						|||
| 
								 | 
							
									mkdir "$RESOURCE_DIR"
							 | 
						|||
| 
								 | 
							
									cd "$RESOURCE_DIR"
							 | 
						|||
| 
								 | 
							
									# make the resource directory
							 | 
						|||
| 
								 | 
							
									mkdir resource
							 | 
						|||
| 
								 | 
							
									# switch back to the previous directory
							 | 
						|||
| 
								 | 
							
									cd "$sePwd"
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									# Extract the .vm file
							 | 
						|||
| 
								 | 
							
									TAR_CMD=""
							 | 
						|||
| 
								 | 
							
									GZIP_CMD=""
							 | 
						|||
| 
								 | 
							
									UNZIP_CMD=""
							 | 
						|||
| 
								 | 
							
									if [ -x /usr/bin/tar ] ; then
							 | 
						|||
| 
								 | 
							
										TAR_CMD="/usr/bin/tar"
							 | 
						|||
| 
								 | 
							
									elif [ -x /bin/tar ] ; then
							 | 
						|||
| 
								 | 
							
										TAR_CMD="/bin/tar"
							 | 
						|||
| 
								 | 
							
									elif [ -x /usr/sbin/tar] ; then
							 | 
						|||
| 
								 | 
							
										TAR_CMD="/usr/sbin/tar"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										TAR_CMD="tar"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ -x /bin/gzip ] ; then
							 | 
						|||
| 
								 | 
							
										GZIP_CMD="/bin/gzip"
							 | 
						|||
| 
								 | 
							
									elif [ -x /usr/bin/gzip ] ; then
							 | 
						|||
| 
								 | 
							
										GZIP_CMD="/usr/bin/gzip"
							 | 
						|||
| 
								 | 
							
									elif [ -x /usr/sbin/gzip ] ; then
							 | 
						|||
| 
								 | 
							
										GZIP_CMD="/usr/sbin/gzip"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										GZIP_CMD="gzip"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ -x /usr/bin/unzip ] ; then
							 | 
						|||
| 
								 | 
							
										UNZIP_CMD="/usr/bin/unzip"
							 | 
						|||
| 
								 | 
							
									elif [ -x /usr/sbin/unzip ] ; then
							 | 
						|||
| 
								 | 
							
										UNZIP_CMD="/usr/sbin/unzip"
							 | 
						|||
| 
								 | 
							
									elif [ -x /usr/local/bin/unzip ] ; then
							 | 
						|||
| 
								 | 
							
										UNZIP_CMD="/usr/local/bin/unzip"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										UNZIP_CMD="unzip"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									unzip_verify=`$UNZIP_CMD`
							 | 
						|||
| 
								 | 
							
									if [ -z "$unzip_verify" ] ; then
							 | 
						|||
| 
								 | 
							
									  	if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
									  		INVALIDUNZIP=`getLocalizedString invalidUnzip`
							 | 
						|||
| 
								 | 
							
											printLocalizedString "$INVALIDUNZIP" "Invalid unzip command found"
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
								            debugOut "Invalid unzip command found. Exiting..."		
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									cd "$RESOURCE_PATH"
							 | 
						|||
| 
								 | 
							
									unzip_success=`$UNZIP_CMD $1`
							 | 
						|||
| 
								 | 
							
									R_unzip=$?
							 | 
						|||
| 
								 | 
							
									if [ $R_unzip -ne 0 ] ; then
							 | 
						|||
| 
								 | 
							
										if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
											echo "Unzipping of VM pack $1 failed"
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										exit $R_unzip
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										debugOut "Unzip done"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									gzip_sucess=`$GZIP_CMD -d $JRE_TARZ`
							 | 
						|||
| 
								 | 
							
									R_gzip=$?
							 | 
						|||
| 
								 | 
							
									if [ $R_gzip -ne 0 ] ; then
							 | 
						|||
| 
								 | 
							
										if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
											echo "Gzip failed"
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										exit $R_gzip
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										debugOut "Gzip done"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									untar_success=`$TAR_CMD xf $JRE_TAR`
							 | 
						|||
| 
								 | 
							
									R_untar=$?
							 | 
						|||
| 
								 | 
							
									if [ $R_untar -ne 0 ] ; then
							 | 
						|||
| 
								 | 
							
										if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
											echo "TAR failed"
							 | 
						|||
| 
								 | 
							
											echo "The included VM could not be unarchived (TAR). Please try to download"
							 | 
						|||
| 
								 | 
							
											echo "the installer again and make sure that you download using 'binary'"
							 | 
						|||
| 
								 | 
							
											echo "mode.  Please do not attempt to install this currently downloaded copy."
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										exit 15
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										debugOut "TAR done"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									chmod -R 755 jre > /dev/null 2>&1
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									javaDir=$RESOURCE_PATH/jre/bin/java
							 | 
						|||
| 
								 | 
							
									javaDir_Special=$RESOURCE_PATH/jre/jre/bin/java
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ -f "$javaDir" ] ; then
							 | 
						|||
| 
								 | 
							
										actvm=$javaDir
							 | 
						|||
| 
								 | 
							
									elif [ -f "$javaDir_Special" ] ; then
							 | 
						|||
| 
								 | 
							
										actvm=$javaDir_Special
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									cd "$sePwd"
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ $R_unzip -eq 0 -a $R_gzip -eq 0 -a $R_untar -eq 0 ] ; then
							 | 
						|||
| 
								 | 
							
										debugOut "Extracted the JVM pack $1 successfully!!"
							 | 
						|||
| 
								 | 
							
									fi	
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								func_download_vm_pack()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									R_wget=
							 | 
						|||
| 
								 | 
							
									if [ -z "$1" ] ; then
							 | 
						|||
| 
								 | 
							
										if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
											echo "Download URL empty. Returning...."
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ -x /usr/bin/wget ] ; then
							 | 
						|||
| 
								 | 
							
										WGET_CMD="/usr/bin/wget"
							 | 
						|||
| 
								 | 
							
									elif [ -x /usr/sbin/wget ] ; then
							 | 
						|||
| 
								 | 
							
										WGET_CMD="/usr/sbin/wget"
							 | 
						|||
| 
								 | 
							
									elif [ -x /usr/local/bin/wget ] ; then
							 | 
						|||
| 
								 | 
							
										WGET_CMD="/usr/local/bin/wget"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										WGET_CMD="wget"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									wget_success=
							 | 
						|||
| 
								 | 
							
									if [ ! -z "$WGET_CMD" ] ; then
							 | 
						|||
| 
								 | 
							
										if [ ! -z "$uimode" -a "$uimode" = "silent" ] ; then
							 | 
						|||
| 
								 | 
							
											wget_success=`$WGET_CMD --tries=3 --output-file="$IATEMP/downloadLog" --directory-prefix="$INSTALLER_DATA_DIR" "$1"`
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											wget_success=`$WGET_CMD --tries=3 --directory-prefix="$INSTALLER_DATA_DIR" "$1"`
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										R_wget=$?
							 | 
						|||
| 
								 | 
							
										if [ $R_wget -ne 0 ] ; then
							 | 
						|||
| 
								 | 
							
											if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
												echo "Download of VM pack failed"
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
											#exit $R_wget
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											debugOut "Download of VM pack succeded"
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									return $R_wget
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func_md5Verification()
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
									R_md5=
							 | 
						|||
| 
								 | 
							
									#find the location of md5sum tool on the UNIX machine
							 | 
						|||
| 
								 | 
							
									MD5SUM_CMD=""
							 | 
						|||
| 
								 | 
							
									if [ -x /usr/bin/md5sum ] ; then
							 | 
						|||
| 
								 | 
							
										MD5SUM_CMD="/usr/bin/md5sum"
							 | 
						|||
| 
								 | 
							
									elif [ -x /usr/sbin/md5sum ] ; then
							 | 
						|||
| 
								 | 
							
										MD5SUM_CMD="usr/sbin/md5sum"
							 | 
						|||
| 
								 | 
							
									elif [ -x /usr/local/bin/md5sum ] ; then
							 | 
						|||
| 
								 | 
							
										MD5SUM_CMD="/usr/local/bin/md5sum"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										MD5SUM_CMD="md5sum"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									jvmSpecBuildWithoutVMDownloadUrl=$1
							 | 
						|||
| 
								 | 
							
									jvmSpecBuildWithoutVMMD5ChecksumValue=$2
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									debugOut "Verifying the downloaded JVM with MD5 checksum specified"
							 | 
						|||
| 
								 | 
							
									downloadedJVMURL=`basename $jvmSpecBuildWithoutVMDownloadUrl`
							 | 
						|||
| 
								 | 
							
									downloadedJVM=$INSTALLER_DATA_DIR/$downloadedJVMURL
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									md5_var=`$MD5SUM_CMD $downloadedJVM`
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									if [ ! -z "$md5_var" ] ;then
							 | 
						|||
| 
								 | 
							
										md5_checksum_value=`echo $md5_var | awk '{print $1}'`
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if [ ! -z "$md5_checksum_value" ] ; then
							 | 
						|||
| 
								 | 
							
											if [ "$md5_checksum_value" = "$jvmSpecBuildWithoutVMMD5ChecksumValue" ] ; then
							 | 
						|||
| 
								 | 
							
												R_md5=0
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												R_md5=1
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
											echo "Warning!! Error in executing md5sum command on the downloaded JVM."
							 | 
						|||
| 
								 | 
							
											echo "Check if md5sum tool is available on your machine or if you have the required permissions to execute md5sum command"
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										R_md5=1
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									return $R_md5
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								#--------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								# if a VM was forced on the command line use it otherwise search
							 | 
						|||
| 
								 | 
							
								if [ "$lax_vm" = "LAX_VM" ]; then
							 | 
						|||
| 
								 | 
							
									# Using VM passed in as argument
							 | 
						|||
| 
								 | 
							
									debugOut "JVM specified using LAX_VM"
							 | 
						|||
| 
								 | 
							
									inspectVM "$lax_vm_value"
							 | 
						|||
| 
								 | 
							
									actvmType="$inspectedVMtype"
							 | 
						|||
| 
								 | 
							
									actvm="$lax_vm_value"
							 | 
						|||
| 
								 | 
							
									debugOut "* Using VM:.........(LAX_VM)............ $actvm"
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									#try to unzip the installer.zip to extract *.jvm and jvmspecs.properties files to the tmp directory
							 | 
						|||
| 
								 | 
							
									if [ $IS_INSTALLER ] ; then
							 | 
						|||
| 
								 | 
							
										if [ -x /usr/bin/unzip ] ; then
							 | 
						|||
| 
								 | 
							
											UNZIP_CMD="/usr/bin/unzip"
							 | 
						|||
| 
								 | 
							
										elif [ -x /usr/sbin/unzip ] ; then
							 | 
						|||
| 
								 | 
							
											UNZIP_CMD="/usr/sbin/unzip"
							 | 
						|||
| 
								 | 
							
										elif [ -x /usr/local/bin/unzip ] ; then
							 | 
						|||
| 
								 | 
							
											UNZIP_CMD="/usr/local/bin/unzip"
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											UNZIP_CMD="unzip"
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
											unzip_verify=`$UNZIP_CMD`
							 | 
						|||
| 
								 | 
							
									    if [ -z "$unzip_verify" ] ; then
							 | 
						|||
| 
								 | 
							
									  	     if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
											     INVALIDUNZIP=`getLocalizedString invalidUnzip`
							 | 
						|||
| 
								 | 
							
												 printLocalizedString "$INVALIDUNZIP" "Invalid unzip command found"
							 | 
						|||
| 
								 | 
							
									    	else
							 | 
						|||
| 
								 | 
							
								                 debugOut "Invalid unzip command found. Exiting..."		
							 | 
						|||
| 
								 | 
							
										     fi
							 | 
						|||
| 
								 | 
							
									    fi
							 | 
						|||
| 
								 | 
							
										unzip_success=`$UNZIP_CMD -d $INSTALLER_DATA_DIR $INSTALL_ZIP jvmspecs* > /dev/null 2>&1`
							 | 
						|||
| 
								 | 
							
										R_unzip=$?
							 | 
						|||
| 
								 | 
							
										if [ $R_unzip -ne 0 ] ; then
							 | 
						|||
| 
								 | 
							
											debugOut "Unzipping of installer.zip failed."
							 | 
						|||
| 
								 | 
							
											debugOut "Using the Default JVM Search"
							 | 
						|||
| 
								 | 
							
											func_existingJVMSearch "$abs_lax_nl_current_vm" "$inspectedVMtype" "$inspectedOldVMtype" "$VM_SEARCH_PATH" "$IFS" "$inspectedVMpath" "$inspectedVMVersion" "$validVMtypeList"
							 | 
						|||
| 
								 | 
							
										else
							 | 
						|||
| 
								 | 
							
											if [ -f "$INSTALLER_DATA_DIR/jvmspecs/jvmspecs.properties" ] ; then
							 | 
						|||
| 
								 | 
							
												debugOut "Found jvmspecs.properties"
							 | 
						|||
| 
								 | 
							
												jvmSpecPropFilePath=$INSTALLER_DATA_DIR/jvmspecs/jvmspecs.properties
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildWithoutVM=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.without.vm=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildOption=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.option=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildWithVM=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.with.vm=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildWithVMSearchOption=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.with.vm.search.option=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildWithoutVMNotFoundDownloadUrl=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.without.vm.not.found.download.url=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildJvmSpecTotalNum=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.jvmspec.total.num=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildJvmSpecApplicable=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.jvmspec.applicable=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildWithoutVmSearchOption=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.without.vm.search.option=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildWithoutVmDirectDownloadUrl=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.without.vm.direct.download.url=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildWithoutVMsearchFailDownloadMD5ChecksumApplicable=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.without.vm.not.found.download.url.md5Checksum.applicable=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildWithoutVMsearchFailDownloadMD5ChecksumValue=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.without.vm.not.found.download.url.md5Checksum.value=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildWithoutVMDirectDownloadMD5ChecksumApplicable=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.without.vm.dont.search.download.url.md5Checksum.applicable=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
												jvmSpecBuildWithoutVMDirectDownloadMD5ChecksumValue=`sed '/^#/d' $jvmSpecPropFilePath | grep "build.without.vm.dont.search.download.url.md5Checksum.value=" | cut -d "=" -f2`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
												if [ ! -z "$jvmSpecBuildOption" ] ; then
							 | 
						|||
| 
								 | 
							
													if [ $jvmSpecBuildOption = "withvm" ] ; then
							 | 
						|||
| 
								 | 
							
														if [ ! -z "$jvmSpecBuildWithVMSearchOption" ] ; then
							 | 
						|||
| 
								 | 
							
															case $jvmSpecBuildWithVMSearchOption in
							 | 
						|||
| 
								 | 
							
																20) #20 = WITH_VM_SEARCH_FOR_VM_IF_NOT_FOUND_USE_BUNDLED
							 | 
						|||
| 
								 | 
							
																	if [ ! -z "$jvmSpecBuildJvmSpecTotalNum" ]; then
							 | 
						|||
| 
								 | 
							
																		if [ $jvmSpecBuildJvmSpecTotalNum -gt 0 ]; then
							 | 
						|||
| 
								 | 
							
																			func_ourJVMSearch "$jvmSpecBuildJvmSpecTotalNum" "$jvmSpecPropFilePath"
							 | 
						|||
| 
								 | 
							
																		fi
							 | 
						|||
| 
								 | 
							
																	else
							 | 
						|||
| 
								 | 
							
																		debugOut "Searching without JVM specs"
							 | 
						|||
| 
								 | 
							
																		func_existingJVMSearch_WithVMNoSpecFile "$abs_lax_nl_current_vm" "$inspectedVMtype" "$inspectedOldVMtype" "$VM_SEARCH_PATH" "$IFS" "$inspectedVMpath" "$inspectedVMVersion" "$validVMtypeList"
							 | 
						|||
| 
								 | 
							
																	fi
							 | 
						|||
| 
								 | 
							
																	if [ -z "$actvm" ] ; then
							 | 
						|||
| 
								 | 
							
																			debugOut "JVM not found with or without spec file. Using bundled JVM"
							 | 
						|||
| 
								 | 
							
																			if [ -f "$ZIPLOC/$RESOURCE_DIR/resource/jre/bin/java" ] ; then
							 | 
						|||
| 
								 | 
							
																				actvm="$ZIPLOC/$RESOURCE_DIR/resource/jre/bin/java"
							 | 
						|||
| 
								 | 
							
																			elif [ -f "$ZIPLOC/$RESOURCE_DIR/resource/jre/jre/bin/java" ] ; then
							 | 
						|||
| 
								 | 
							
																				actvm="$ZIPLOC/$RESOURCE_DIR/resource/jre/jre/bin/java"
							 | 
						|||
| 
								 | 
							
																			fi
							 | 
						|||
| 
								 | 
							
																	fi
							 | 
						|||
| 
								 | 
							
																;;		
							 | 
						|||
| 
								 | 
							
																21) #21 = WITH_VM_DONT_SEARCH_USE_BUNDLED
							 | 
						|||
| 
								 | 
							
																	if [ -f "$ZIPLOC/$RESOURCE_DIR/resource/jre/bin/java" ] ; then
							 | 
						|||
| 
								 | 
							
																		actvm="$ZIPLOC/$RESOURCE_DIR/resource/jre/bin/java"
							 | 
						|||
| 
								 | 
							
																	elif [ -f "$ZIPLOC/$RESOURCE_DIR/resource/jre/jre/bin/java" ] ; then
							 | 
						|||
| 
								 | 
							
																		actvm="$ZIPLOC/$RESOURCE_DIR/resource/jre/jre/bin/java"
							 | 
						|||
| 
								 | 
							
																	fi
							 | 
						|||
| 
								 | 
							
																;;		    
							 | 
						|||
| 
								 | 
							
																*) 
							 | 
						|||
| 
								 | 
							
																	DEFAULT=`getLocalizedString default`
							 | 
						|||
| 
								 | 
							
																	printLocalizedString "$DEFAULT" "default"
							 | 
						|||
| 
								 | 
							
																	;;
							 | 
						|||
| 
								 | 
							
															esac
							 | 
						|||
| 
								 | 
							
														fi
							 | 
						|||
| 
								 | 
							
													elif [ $jvmSpecBuildOption = "withoutvm" ] ; then
							 | 
						|||
| 
								 | 
							
														debugOut "JVM Spec Build Option Specified Without VM" 
							 | 
						|||
| 
								 | 
							
														if [ ! -z "$jvmSpecBuildWithoutVmSearchOption" ] ; then
							 | 
						|||
| 
								 | 
							
															case $jvmSpecBuildWithoutVmSearchOption in
							 | 
						|||
| 
								 | 
							
																10) if [ ! -z "$jvmSpecBuildJvmSpecTotalNum" ]; then
							 | 
						|||
| 
								 | 
							
																		if [ $jvmSpecBuildJvmSpecTotalNum -gt 0 ]; then
							 | 
						|||
| 
								 | 
							
																			func_ourJVMSearch "$jvmSpecBuildJvmSpecTotalNum" "$jvmSpecPropFilePath"
							 | 
						|||
| 
								 | 
							
																		fi
							 | 
						|||
| 
								 | 
							
																	else 
							 | 
						|||
| 
								 | 
							
																		debugOut "Searching without JVM specs"
							 | 
						|||
| 
								 | 
							
																		func_existingJVMSearch "$abs_lax_nl_current_vm" "$inspectedVMtype" "$inspectedOldVMtype" "$VM_SEARCH_PATH" "$IFS" "$inspectedVMpath" "$inspectedVMVersion" "$validVMtypeList"
							 | 
						|||
| 
								 | 
							
																	fi							
							 | 
						|||
| 
								 | 
							
																;;
							 | 
						|||
| 
								 | 
							
																11) if [ ! -z "$jvmSpecBuildJvmSpecTotalNum" ]; then
							 | 
						|||
| 
								 | 
							
																		if [ $jvmSpecBuildJvmSpecTotalNum -gt 0 ]; then
							 | 
						|||
| 
								 | 
							
																			func_ourJVMSearch "$jvmSpecBuildJvmSpecTotalNum" "$jvmSpecPropFilePath"
							 | 
						|||
| 
								 | 
							
																		fi
							 | 
						|||
| 
								 | 
							
																	else
							 | 
						|||
| 
								 | 
							
																		debugOut "Searching without JVM specs"
							 | 
						|||
| 
								 | 
							
																		func_existingJVMSearch "$abs_lax_nl_current_vm" "$inspectedVMtype" "$inspectedOldVMtype" "$VM_SEARCH_PATH" "$IFS" "$inspectedVMpath" "$inspectedVMVersion" "$validVMtypeList"
							 | 
						|||
| 
								 | 
							
																	fi
							 | 
						|||
| 
								 | 
							
																	if [ -z "$actvm" ] ; then
							 | 
						|||
| 
								 | 
							
																		func_download_vm_pack "$jvmSpecBuildWithoutVMNotFoundDownloadUrl"
							 | 
						|||
| 
								 | 
							
																		R_download_status=$?
							 | 
						|||
| 
								 | 
							
																		if [ $R_download_status -ne 0 ] ; then
							 | 
						|||
| 
								 | 
							
																			if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
																				VMDOWNLOADERROR=`getLocalizedString vmDownloadError`
							 | 
						|||
| 
								 | 
							
																				printLocalizedString "$VMDOWNLOADERROR" "Error in downloading the VM. Installer exiting..."
							 | 
						|||
| 
								 | 
							
																			fi
							 | 
						|||
| 
								 | 
							
																		else
							 | 
						|||
| 
								 | 
							
																			if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
																				DOWNLOADEDVM1=`getLocalizedString downloadedVM1`
							 | 
						|||
| 
								 | 
							
																				printLocalizedString "$DOWNLOADEDVM1" "Downloaded VM Pack using URL=$jvmSpecBuildWithoutVMNotFoundDownloadUrl"
							 | 
						|||
| 
								 | 
							
																			fi
							 | 
						|||
| 
								 | 
							
																			
							 | 
						|||
| 
								 | 
							
																			jreDownloadFile=`basename $jvmSpecBuildWithoutVMNotFoundDownloadUrl`
							 | 
						|||
| 
								 | 
							
																			jreDownloadFileName=$INSTALLER_DATA_DIR/$jreDownloadFile
							 | 
						|||
| 
								 | 
							
																			
							 | 
						|||
| 
								 | 
							
																			if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
																				DOWNLOADLOC1=`getLocalizedString downloadLoc1`
							 | 
						|||
| 
								 | 
							
																				printLocalizedString "$DOWNLOADLOC1" "Download location=$jreDownloadFileName"
							 | 
						|||
| 
								 | 
							
																			fi
							 | 
						|||
| 
								 | 
							
																			
							 | 
						|||
| 
								 | 
							
																			if [ ! -z "$jvmSpecBuildWithoutVMsearchFailDownloadMD5ChecksumApplicable" -a "$jvmSpecBuildWithoutVMsearchFailDownloadMD5ChecksumApplicable" = "true" ] ; then
							 | 
						|||
| 
								 | 
							
																				if [ ! -z "$jvmSpecBuildWithoutVMsearchFailDownloadMD5ChecksumValue" ] ; then
							 | 
						|||
| 
								 | 
							
																					func_md5Verification "$jvmSpecBuildWithoutVMNotFoundDownloadUrl" "$jvmSpecBuildWithoutVMsearchFailDownloadMD5ChecksumValue"
							 | 
						|||
| 
								 | 
							
																					R_md5Verification_1=$?
							 | 
						|||
| 
								 | 
							
																					if [ $R_md5Verification_1 -ne 0 ] ; then
							 | 
						|||
| 
								 | 
							
																						if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
																							CHECKSUMFAILED=`getLocalizedString checksumFailed`
							 | 
						|||
| 
								 | 
							
																							printLocalizedString "$CHECKSUMFAILED" "Error!! MD5 checksum verification for downloaded JVM failed. Installer exiting..."
							 | 
						|||
| 
								 | 
							
																						fi
							 | 
						|||
| 
								 | 
							
																					else
							 | 
						|||
| 
								 | 
							
																						if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
																							CHECKSUMPASSED=`getLocalizedString checksumPassed`
							 | 
						|||
| 
								 | 
							
																							printLocalizedString "$CHECKSUMPASSED" "MD5 checksum verification for downloaded JVM passed"
							 | 
						|||
| 
								 | 
							
																						fi
							 | 
						|||
| 
								 | 
							
																						func_extract_vm_pack "$jreDownloadFileName"
							 | 
						|||
| 
								 | 
							
																					fi
							 | 
						|||
| 
								 | 
							
																				fi
							 | 
						|||
| 
								 | 
							
																			else
							 | 
						|||
| 
								 | 
							
																				func_extract_vm_pack "$jreDownloadFileName"
							 | 
						|||
| 
								 | 
							
																			fi	
							 | 
						|||
| 
								 | 
							
																		fi
							 | 
						|||
| 
								 | 
							
																	fi		
							 | 
						|||
| 
								 | 
							
																;;
							 | 
						|||
| 
								 | 
							
																12) func_download_vm_pack "$jvmSpecBuildWithoutVmDirectDownloadUrl"		    #12 = WITHOUT_VM_DO_NOT_SEARCH_DOWNLOAD
							 | 
						|||
| 
								 | 
							
																	R_download_status=$?
							 | 
						|||
| 
								 | 
							
																	if [ $R_download_status -ne 0 ] ; then
							 | 
						|||
| 
								 | 
							
																		if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
																			VMDOWNLOADERROR=`getLocalizedString vmDownloadError`
							 | 
						|||
| 
								 | 
							
																			printLocalizedString "$VMDOWNLOADERROR" "Error in downloading the VM. Installer exiting..."
							 | 
						|||
| 
								 | 
							
																		fi
							 | 
						|||
| 
								 | 
							
																	else
							 | 
						|||
| 
								 | 
							
																		if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
																			DOWNLOADEDVM2=`getLocalizedString downloadedVM2`
							 | 
						|||
| 
								 | 
							
																			printLocalizedString "$DOWNLOADEDVM2" "Downloaded VM Pack using URL=$jvmSpecBuildWithoutVmDirectDownloadUrl"
							 | 
						|||
| 
								 | 
							
																		fi
							 | 
						|||
| 
								 | 
							
																		
							 | 
						|||
| 
								 | 
							
																		jreDownloadFile_1=`basename $jvmSpecBuildWithoutVmDirectDownloadUrl`
							 | 
						|||
| 
								 | 
							
																		jreDownloadFileName_1=$INSTALLER_DATA_DIR/$jreDownloadFile_1
							 | 
						|||
| 
								 | 
							
																		
							 | 
						|||
| 
								 | 
							
																		if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
																			DOWNLOADLOC2=`getLocalizedString downloadLoc2`
							 | 
						|||
| 
								 | 
							
																			printLocalizedString "$DOWNLOADLOC2" "Download location=$jreDownloadFileName_1"
							 | 
						|||
| 
								 | 
							
																		fi
							 | 
						|||
| 
								 | 
							
																		
							 | 
						|||
| 
								 | 
							
																		if [ ! -z "$jvmSpecBuildWithoutVMDirectDownloadMD5ChecksumApplicable" -a "$jvmSpecBuildWithoutVMDirectDownloadMD5ChecksumApplicable" = "true" ] ; then
							 | 
						|||
| 
								 | 
							
																			if [ ! -z "$jvmSpecBuildWithoutVMDirectDownloadMD5ChecksumValue" ] ; then
							 | 
						|||
| 
								 | 
							
																				func_md5Verification "$jvmSpecBuildWithoutVmDirectDownloadUrl" "$jvmSpecBuildWithoutVMDirectDownloadMD5ChecksumValue"
							 | 
						|||
| 
								 | 
							
																				R_md5Verification_2=$?
							 | 
						|||
| 
								 | 
							
																				if [ $R_md5Verification_2 -ne 0 ] ; then
							 | 
						|||
| 
								 | 
							
																					if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
																						CHECKSUMFAILED=`getLocalizedString checksumFailed`
							 | 
						|||
| 
								 | 
							
																						printLocalizedString "$CHECKSUMFAILED" "Error!! MD5 checksum verification for downloaded JVM failed. Installer exiting..."
							 | 
						|||
| 
								 | 
							
																					fi
							 | 
						|||
| 
								 | 
							
																				else
							 | 
						|||
| 
								 | 
							
																					if [ ! -z "$uimode" -a "$uimode" != "silent" ] ; then
							 | 
						|||
| 
								 | 
							
																						CHECKSUMPASSED=`getLocalizedString checksumPassed`
							 | 
						|||
| 
								 | 
							
																						printLocalizedString "$CHECKSUMPASSED" "MD5 checksum verification for downloaded JVM passed"
							 | 
						|||
| 
								 | 
							
																					fi
							 | 
						|||
| 
								 | 
							
																					func_extract_vm_pack "$jreDownloadFileName_1"
							 | 
						|||
| 
								 | 
							
																				fi
							 | 
						|||
| 
								 | 
							
																			fi
							 | 
						|||
| 
								 | 
							
																		else
							 | 
						|||
| 
								 | 
							
																			func_extract_vm_pack "$jreDownloadFileName_1"
							 | 
						|||
| 
								 | 
							
																		fi
							 | 
						|||
| 
								 | 
							
																	fi
							 | 
						|||
| 
								 | 
							
																;;
							 | 
						|||
| 
								 | 
							
																*) 
							 | 
						|||
| 
								 | 
							
																	DEFCASE=`getLocalizedString defaultCase`
							 | 
						|||
| 
								 | 
							
																	printLocalizedString "$DEFCASE" "default case"
							 | 
						|||
| 
								 | 
							
																	;;
							 | 
						|||
| 
								 | 
							
															esac
							 | 
						|||
| 
								 | 
							
														fi
							 | 
						|||
| 
								 | 
							
													fi
							 | 
						|||
| 
								 | 
							
												fi		    			
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												debugOut "Could not detect JVM Search Policy. Exiting..."
							 | 
						|||
| 
								 | 
							
												exit;
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										func_existingJVMSearch "$abs_lax_nl_current_vm" "$inspectedVMtype" "$inspectedOldVMtype" "$VM_SEARCH_PATH" "$IFS" "$inspectedVMpath" "$inspectedVMVersion" "$validVMtypeList"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									#=============================================================================================
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# If no VMs are found in path
							 | 
						|||
| 
								 | 
							
								if [ -z "$actvm" ]
							 | 
						|||
| 
								 | 
							
								then
							 | 
						|||
| 
								 | 
							
									echo "No Java virtual machine could be found from your PATH"
							 | 
						|||
| 
								 | 
							
									echo "environment variable.  You must install a VM prior to"
							 | 
						|||
| 
								 | 
							
									echo "running this program."
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									# Mikey [5/16/2000] -- If this was SEA'd then remove the temp directory
							 | 
						|||
| 
								 | 
							
									if [ "$IS_INSTALLER" = "true" ]; then
							 | 
						|||
| 
								 | 
							
										debugOut "Removing temporary installation directory: \"$lax_user_dir\""
							 | 
						|||
| 
								 | 
							
										rm -rf "$lax_user_dir"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									cd "$olddir"
							 | 
						|||
| 
								 | 
							
									exit
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# write the current vm out to the environment properties
							 | 
						|||
| 
								 | 
							
								echo "lax.nl.current.vm=$actvm" >> $envPropertiesFile
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# set up a variable to esilty know if we are going to run 1.1 or 1.2 
							 | 
						|||
| 
								 | 
							
								# for setting up VM cmd line options later on
							 | 
						|||
| 
								 | 
							
								case "$actvmType" in
							 | 
						|||
| 
								 | 
							
									"JRE" | "JDK" | "JRE_J1" | "JDK_J1" )
							 | 
						|||
| 
								 | 
							
										actvmVersion="1.1"
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									"R12" | "D12" | "JDK_J2" | "JRE_J2" | "OLDJAVA")
							 | 
						|||
| 
								 | 
							
										actvmVersion="1.2"
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
									*)
							 | 
						|||
| 
								 | 
							
										actvmVersion=""
							 | 
						|||
| 
								 | 
							
									;;
							 | 
						|||
| 
								 | 
							
								esac
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# end of finding VMs
							 | 
						|||
| 
								 | 
							
								##########################################################################################
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								####################################################################################
							 | 
						|||
| 
								 | 
							
								# Determining VM invocation options to use
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# Verification
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
									if [ "$verify" = "off" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -noverify"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										if [ "$verify_mode" = "remote" ]; then
							 | 
						|||
| 
								 | 
							
											options="$options -verifyremote"
							 | 
						|||
| 
								 | 
							
										elif [ "$verify_mode" = "none" ]; then
							 | 
						|||
| 
								 | 
							
											options="$options -noverify"
							 | 
						|||
| 
								 | 
							
										elif [ "$verify_mode" = "all" ]; then
							 | 
						|||
| 
								 | 
							
											options="$options -verify"
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								verbo=${verbo:="none"}
							 | 
						|||
| 
								 | 
							
								if [ $verbo = "normal" ]; then
							 | 
						|||
| 
								 | 
							
									if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -verbose"
							 | 
						|||
| 
								 | 
							
									elif [ "$actvmVersion" = "1.2" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -verbose:class"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								elif [ $verbo = "all" ]; then
							 | 
						|||
| 
								 | 
							
									if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -verbose -verbosegc"
							 | 
						|||
| 
								 | 
							
									elif [ "$actvmVersion" = "1.2" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -verbose:class -verbose:gc"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								elif [ $verbo = "gc" ]; then
							 | 
						|||
| 
								 | 
							
									if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -verbosegc"
							 | 
						|||
| 
								 | 
							
									elif [ "$actvmVersion" = "1.2" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -verbose:gc"
							 | 
						|||
| 
								 | 
							
									fi	
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# Memory mgnt
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								gcxtnt=${gcxtnt:="none"}
							 | 
						|||
| 
								 | 
							
								if [ $gcxtnt = "min" ]
							 | 
						|||
| 
								 | 
							
								then
							 | 
						|||
| 
								 | 
							
									if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -noclassgc"
							 | 
						|||
| 
								 | 
							
									elif [ "$actvmVersion" = "1.2" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -Xnoclassgc"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								gcthrd=${gcthrd:="none"}
							 | 
						|||
| 
								 | 
							
								if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
									if [ $gcthrd = "off" ]
							 | 
						|||
| 
								 | 
							
									then
							 | 
						|||
| 
								 | 
							
										options="$options -noasyncgc"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								nsmax=${nsmax:="none"}
							 | 
						|||
| 
								 | 
							
								if [ "$nsmax" != "none" ]; then
							 | 
						|||
| 
								 | 
							
								        if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
								                options="$options -ss$nsmax"
							 | 
						|||
| 
								 | 
							
								        elif [ "$actvmVersion" = "1.2" ]; then
							 | 
						|||
| 
								 | 
							
								                options="$options -Xss$nsmax"
							 | 
						|||
| 
								 | 
							
								        fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								jsmax=${jsmax:="none"}
							 | 
						|||
| 
								 | 
							
								if [ "$jsmax" != "none" ]; then
							 | 
						|||
| 
								 | 
							
								        if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
								                options="$options -oss$jsmax"
							 | 
						|||
| 
								 | 
							
								        elif [ "$actvmVersion" = "1.2" ]; then
							 | 
						|||
| 
								 | 
							
								                options="$options -Xoss$jsmax"
							 | 
						|||
| 
								 | 
							
								        fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								jhmax=${jhmax:="none"}
							 | 
						|||
| 
								 | 
							
								if [ "$jhmax" != "none" ]; then
							 | 
						|||
| 
								 | 
							
									if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -mx$jhmax"
							 | 
						|||
| 
								 | 
							
									elif [ "$actvmVersion" = "1.2" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -Xmx$jhmax"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										# Note that the above conditions are always false in case of SFX.
							 | 
						|||
| 
								 | 
							
										# Adding else statement to add Java Maximum Heap size to JVM options argument.
							 | 
						|||
| 
								 | 
							
										options="$options -Xmx$jhmax"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								jhinit=${jhinit:="none"}
							 | 
						|||
| 
								 | 
							
								if [ "$jhinit" != "none" ]; then
							 | 
						|||
| 
								 | 
							
									if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -ms$jhinit"
							 | 
						|||
| 
								 | 
							
									elif [ "$actvmVersion" = "1.2" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -Xms$jhinit"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										# Note that the above conditions are always false in case of SFX.
							 | 
						|||
| 
								 | 
							
										# Adding else statement to add Java Initial Heap size to JVM options argument.
							 | 
						|||
| 
								 | 
							
										options="$options -Xms$jhinit"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								debug=${debug:-"off"}
							 | 
						|||
| 
								 | 
							
								if [ $debug != "off" ]; then
							 | 
						|||
| 
								 | 
							
									if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -debug"
							 | 
						|||
| 
								 | 
							
									elif [ "$actvmVersion" = "1.2" ]; then
							 | 
						|||
| 
								 | 
							
										options="$options -Xdebug"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								###############################################################
							 | 
						|||
| 
								 | 
							
								# JIT options
							 | 
						|||
| 
								 | 
							
								# Resetting java home and JIT compiler environment variables
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								jitOnOrOff=on;
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# turn off according to VM type
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								if   [ ! -z "$lax_nl_osname_JDK_J1_java_compiler" -a "$actvmType" = "JDK_J1" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_osname_JDK_J1_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_osname_JDK_J2_java_compiler" -a "$actvmType" = "JDK_J2" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_osname_JDK_J2_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_osname_JRE_J1_java_compiler" -a "$actvmType" = "JRE_J1" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_osname_JRE_J1_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_osname_JRE_J2_java_compiler" -a "$actvmType" = "JRE_J2" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_osname_JRE_J2_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_osname_J1_java_compiler" -a "$actvmType" = "J1" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_osname_J1_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_osname_J2_java_compiler" -a "$actvmType" = "J2" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_osname_J2_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_osname_JRE_java_compiler" -a "$actvmType" = "JRE" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_osname_JRE_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_osname_JDK_java_compiler" -a "$actvmType" = "JDK" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_osname_JDK_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_osname_ALL_java_compiler" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_osname_ALL_java_compiler
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_unix_JDK_J1_java_compiler" -a "$actvmType" = "JDK_J1" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_unix_JDK_J1_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_unix_JDK_J2_java_compiler" -a "$actvmType" = "JDK_J2" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_unix_JDK_J2_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_unix_JRE_J1_java_compiler" -a "$actvmType" = "JRE_J1" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_unix_JRE_J1_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_unix_JRE_J2_java_compiler" -a "$actvmType" = "JRE_J2" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_unix_JRE_J2_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_unix_J1_java_compiler" -a "$actvmType" = "J1" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_unix_J1_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_unix_J2_java_compiler" -a "$actvmType" = "J2" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_unix_J2_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_unix_JRE_java_compiler" -a "$actvmType" = "JRE" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_unix_JRE_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_unix_JDK_java_compiler" -a "$actvmType" = "JDK" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_unix_JDK_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_unix_ALL_java_compiler" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_unix_ALL_java_compiler
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_JDK_J1_java_compiler" -a "$actvmType" = "JDK_J1" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_JDK_J1_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_JDK_J2_java_compiler" -a "$actvmType" = "JDK_J2" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_JDK_J2_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_JRE_J1_java_compiler" -a "$actvmType" = "JRE_J1" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_JRE_J1_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_JRE_J2_java_compiler" -a "$actvmType" = "JRE_J2" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_JRE_J2_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_J1_java_compiler" -a "$actvmType" = "J1" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_J1_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_J2_java_compiler" -a "$actvmType" = "J2" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_J2_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_JRE_java_compiler" -a "$actvmType" = "JRE" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_JRE_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_JDK_java_compiler" -a "$actvmType" = "JDK" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_JDK_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_ALL_java_compiler" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_ALL_java_compiler
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_osname_java_compiler" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_osname_java_compiler
							 | 
						|||
| 
								 | 
							
								elif [ ! -z "$lax_nl_java_compiler" ]; then
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=$lax_nl_java_compiler
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									jitOnOrOff=on
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# JIT is ON by default, so we only need to change its status
							 | 
						|||
| 
								 | 
							
								# the above else-if lists figures it should be OFF
							 | 
						|||
| 
								 | 
							
								if [ "$jitOnOrOff" = "off" ]; then
							 | 
						|||
| 
								 | 
							
									if [ "$actvmVersion" = "1.1" ]; then
							 | 
						|||
| 
								 | 
							
										case "$osName" in
							 | 
						|||
| 
								 | 
							
											*irix*)
							 | 
						|||
| 
								 | 
							
												jitinvoc="-nojit"
							 | 
						|||
| 
								 | 
							
												JIT_OPTIONS="-nojit"
							 | 
						|||
| 
								 | 
							
												export JIT_OPTIONS
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											*hp-ux*|*hpux*)
							 | 
						|||
| 
								 | 
							
												JIT_OPTIONS="-nojit"
							 | 
						|||
| 
								 | 
							
												export JIT_OPTIONS
							 | 
						|||
| 
								 | 
							
												jitinvoc="-nojit"
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											*solaris*|*sunos*)
							 | 
						|||
| 
								 | 
							
												jitinvoc="-Djava.compiler="
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											*aix*)
							 | 
						|||
| 
								 | 
							
												JAVA_COMPILER=off
							 | 
						|||
| 
								 | 
							
												export JAVA_COMPILER
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											*freebsd*)
							 | 
						|||
| 
								 | 
							
												jitinvoc="-Djava.compiler="
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											*linux*)
							 | 
						|||
| 
								 | 
							
												jitinvoc="-Djava.compiler="
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											*rhapsody*|*macos*)
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											*compaq*|*dg*|*osf*)
							 | 
						|||
| 
								 | 
							
												jitinvoc="-nojit"
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
											*)
							 | 
						|||
| 
								 | 
							
												debugOut "Unknown OS name (\"$osName\"). Cannot set JIT Options."
							 | 
						|||
| 
								 | 
							
											;;
							 | 
						|||
| 
								 | 
							
										esac
							 | 
						|||
| 
								 | 
							
									elif [ "$actvmVersion" = "1.2" ]; then
							 | 
						|||
| 
								 | 
							
										jitinvoc="-Djava.compiler=NONE"
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										debugOut "Unknown VM version. Cannot set JIT Options."
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								options="$jitinvoc $options"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# set this variable to something so we're guaranteed a value
							 | 
						|||
| 
								 | 
							
								linux_LD_ASSUME_KERNEL_hack=0;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# work around problem on RedHat Linux 7.1 IA-32
							 | 
						|||
| 
								 | 
							
								# see Bug Id 4447270 at Sun JDC bug parade
							 | 
						|||
| 
								 | 
							
								if [ `cat /etc/redhat-release 2>/dev/null | grep "7\.1" | wc -l` = "1" ];
							 | 
						|||
| 
								 | 
							
								then
							 | 
						|||
| 
								 | 
							
								    if [ `uname -s` = "Linux" ];
							 | 
						|||
| 
								 | 
							
								    then
							 | 
						|||
| 
								 | 
							
								        if [ `uname -m` != "ia64" ];
							 | 
						|||
| 
								 | 
							
								        then
							 | 
						|||
| 
								 | 
							
								            case `uname -r` in
							 | 
						|||
| 
								 | 
							
								            2.[456]*)
							 | 
						|||
| 
								 | 
							
																linux_LD_ASSUME_KERNEL_hack=1
							 | 
						|||
| 
								 | 
							
								                ;;
							 | 
						|||
| 
								 | 
							
								            esac
							 | 
						|||
| 
								 | 
							
								        fi
							 | 
						|||
| 
								 | 
							
								    fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# LD_ASSUME_KERNEL for Native POSIX Threading Library on some Linux distros
							 | 
						|||
| 
								 | 
							
								#if [ `uname` = "Linux" -a -n "`which strings 2>/dev/null`" ]; then
							 | 
						|||
| 
								 | 
							
								#	debugOut "checking for NPTL + JVM vulernability..."
							 | 
						|||
| 
								 | 
							
									#check libc to see if it was compiled with NPTL
							 | 
						|||
| 
								 | 
							
								#	nptl="`strings /lib/libc.so.6 | grep -i nptl`"
							 | 
						|||
| 
								 | 
							
								#	if [ "$nptl" ]; then
							 | 
						|||
| 
								 | 
							
								#		debugOut "NPTL detected! checking for vulnerable JVM....";
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										# I have to set this before I check the JVM version, a-cuz
							 | 
						|||
| 
								 | 
							
										# the call will hang, if it -is- vulnerable!
							 | 
						|||
| 
								 | 
							
								#		export LD_ASSUME_KERNEL=2.2.5
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
								#		$actvm -version > /dev/null 2> /dev/null
							 | 
						|||
| 
								 | 
							
								#		if [ "$?" -eq "0" ]; then
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
								#			eval `$actvm -version 2>&1 | $AWK '
							 | 
						|||
| 
								 | 
							
								#				BEGIN {
							 | 
						|||
| 
								 | 
							
								#					vendor="Sun"
							 | 
						|||
| 
								 | 
							
								#				}
							 | 
						|||
| 
								 | 
							
								#				/"[0-9]\.[0-9]\.[0-9][^"]*"$/ {
							 | 
						|||
| 
								 | 
							
								#					gsub ("[\"]", "", $3)
							 | 
						|||
| 
								 | 
							
								#					split ($3, ver, "[\._-]")
							 | 
						|||
| 
								 | 
							
								#					printf "v_major=%s\nv_minor=%s\nv_patch=%s\n",ver[1],ver[2],ver[3]
							 | 
						|||
| 
								 | 
							
								#				}
							 | 
						|||
| 
								 | 
							
								#				/IBM/ {
							 | 
						|||
| 
								 | 
							
								#					vendor="IBM"
							 | 
						|||
| 
								 | 
							
								#				}
							 | 
						|||
| 
								 | 
							
								#				END {
							 | 
						|||
| 
								 | 
							
								#					printf "v_vendor=%s\n",vendor
							 | 
						|||
| 
								 | 
							
								#				}
							 | 
						|||
| 
								 | 
							
								#			' `
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											# unset the LD_ASSUME_KERNEL in cause we don't need it
							 | 
						|||
| 
								 | 
							
								#			unset LD_ASSUME_KERNEL
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#			debugOut "major : ${v_major}"
							 | 
						|||
| 
								 | 
							
								#			debugOut "minor : ${v_minor}"
							 | 
						|||
| 
								 | 
							
								#			debugOut "patch : ${v_patch}"
							 | 
						|||
| 
								 | 
							
								#			debugOut "vendor: ${v_vendor}"
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
											# check our rules for setting LD_ASSUME_KERNEL
							 | 
						|||
| 
								 | 
							
											# currently, we're only setting this for JVMS < 1.4
							 | 
						|||
| 
								 | 
							
											# we can add more rules later, if we need to.
							 | 
						|||
| 
								 | 
							
								#			if [ ${v_minor:-0} -lt 4 ]; then
							 | 
						|||
| 
								 | 
							
								#				debugOut "Vulnerable JVM detected... implementing workaround"
							 | 
						|||
| 
								 | 
							
								#				linux_LD_ASSUME_KERNEL_hack=1
							 | 
						|||
| 
								 | 
							
								#			else
							 | 
						|||
| 
								 | 
							
								#				debugOut "Your JVM is OK! Congratulations!"
							 | 
						|||
| 
								 | 
							
								#			fi
							 | 
						|||
| 
								 | 
							
								#		else
							 | 
						|||
| 
								 | 
							
								#		    unset LD_ASSUME_KERNEL
							 | 
						|||
| 
								 | 
							
								#		fi
							 | 
						|||
| 
								 | 
							
								#	fi
							 | 
						|||
| 
								 | 
							
								#fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								if [ $linux_LD_ASSUME_KERNEL_hack -eq 1 ]; then
							 | 
						|||
| 
								 | 
							
									LD_ASSUME_KERNEL=2.2.5
							 | 
						|||
| 
								 | 
							
									export LD_ASSUME_KERNEL
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								##################################################################################
							 | 
						|||
| 
								 | 
							
								# LAUNCH VM
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# Passing in addtional stuff
							 | 
						|||
| 
								 | 
							
								options="$options $lax_nl_java_option_additional"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# Changing working directory
							 | 
						|||
| 
								 | 
							
								if [ ! "$lax_user_dir" = "" ]
							 | 
						|||
| 
								 | 
							
								then
							 | 
						|||
| 
								 | 
							
									if [ ! "$lax_user_dir" = "." ];
							 | 
						|||
| 
								 | 
							
									then
							 | 
						|||
| 
								 | 
							
										cd "$lax_user_dir"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									cd "$olddir"
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# Optional printout of all variable values for debugging purposes
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								debugOut ""
							 | 
						|||
| 
								 | 
							
								debugOut "[7m========= Virtual Machine Options ====================================[0m"
							 | 
						|||
| 
								 | 
							
								debugOut "LAX properties incorporated............. OK."
							 | 
						|||
| 
								 | 
							
								debugOut "classpath............................... \"$lax_class_path\""
							 | 
						|||
| 
								 | 
							
								debugOut "main class.............................. \"$lax_main_class\""
							 | 
						|||
| 
								 | 
							
								debugOut ".lax file path.......................... \"$propfname\""
							 | 
						|||
| 
								 | 
							
								debugOut "user directory.......................... \"$lax_user_dir\""
							 | 
						|||
| 
								 | 
							
								debugOut "stdout to............................... \"$lax_stdout_redirect\""
							 | 
						|||
| 
								 | 
							
								debugOut "sterr to................................ \"$lax_stderr_redirect\""
							 | 
						|||
| 
								 | 
							
								debugOut "install directory....................... \"$lax_dir\""
							 | 
						|||
| 
								 | 
							
								debugOut "JIT..................................... ${jittype:-"none"}"
							 | 
						|||
| 
								 | 
							
								debugOut "option (verify)......................... ${verify:-"none"}"
							 | 
						|||
| 
								 | 
							
								debugOut "option (verbosity)...................... ${verbo:-"none"}"
							 | 
						|||
| 
								 | 
							
								debugOut "option (garbage collection extent)...... ${gcxtnt:-"none"}"
							 | 
						|||
| 
								 | 
							
								debugOut "option (garbage collection thread)...... ${gcthrd:-"none"}"
							 | 
						|||
| 
								 | 
							
								debugOut "option (native stack max size).......... ${nsmax:-"none"}"
							 | 
						|||
| 
								 | 
							
								debugOut "option (java stack max size)............ ${jsmax:-"none"}"
							 | 
						|||
| 
								 | 
							
								debugOut "option (java heap max size)............. ${jhmax:-"none"}"
							 | 
						|||
| 
								 | 
							
								debugOut "option (java heap initial size)......... ${jhinit:-"none"}"
							 | 
						|||
| 
								 | 
							
								debugOut "option (lax.nl.java.option.additional).. ${lax_nl_java_option_additional:-"none"}"
							 | 
						|||
| 
								 | 
							
								resolveLink "$actvm"
							 | 
						|||
| 
								 | 
							
								actvm="$resolvedLink"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								actvmBinaryName=`basename "$actvm"`
							 | 
						|||
| 
								 | 
							
								# get dirname of binary
							 | 
						|||
| 
								 | 
							
								actvmHome=`dirname "$actvm"`
							 | 
						|||
| 
								 | 
							
								# is the dir the binary is in named "bin"?
							 | 
						|||
| 
								 | 
							
								if [ "`basename "$actvmHome"`" = "bin" ]; then
							 | 
						|||
| 
								 | 
							
									# if so then the dir above bin is the java home
							 | 
						|||
| 
								 | 
							
									JAVA_HOME=`dirname "$actvmHome"`
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									JAVA_HOME=
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# Making $JAVA_HOME available to the application.
							 | 
						|||
| 
								 | 
							
								export JAVA_HOME
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# [RW] reset the locale that what we remember it to be (see use.sh line 22)
							 | 
						|||
| 
								 | 
							
								if [ "$IS_INSTALLER" = "true" ]; then
							 | 
						|||
| 
								 | 
							
									if [ "X$OLD_LANG" = X ]
							 | 
						|||
| 
								 | 
							
									then
							 | 
						|||
| 
								 | 
							
									 	# no locale was defined prior to running this program
							 | 
						|||
| 
								 | 
							
										unset LANG
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										# there was a locale: revert back to it
							 | 
						|||
| 
								 | 
							
										LANG="$OLD_LANG"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								###########################################################################
							 | 
						|||
| 
								 | 
							
								# tlb 2001-09-18
							 | 
						|||
| 
								 | 
							
								# Moving the checking for the DISPLAY variable down here as there are  
							 | 
						|||
| 
								 | 
							
								# options in the LAX that might override the need for checking the DISPLAY.
							 | 
						|||
| 
								 | 
							
								# Those options need loading before the check is performed.
							 | 
						|||
| 
								 | 
							
								# Also making sure we don't report an error when running on Mac OS X.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								debugOut ""
							 | 
						|||
| 
								 | 
							
								debugOut "[7m========= Display settings ===========================================[0m"
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								# check the display
							 | 
						|||
| 
								 | 
							
								#
							 | 
						|||
| 
								 | 
							
								isRemoteDisplay="false"
							 | 
						|||
| 
								 | 
							
								if [ "$IS_INSTALLER" = "true" -a "$isConsole" = "false" -a "$isSilent" = "false" -a ! "$osName" = "darwin" ]; then
							 | 
						|||
| 
								 | 
							
									hostname=`hostname`
							 | 
						|||
| 
								 | 
							
									isRemoteDisplay="true"
							 | 
						|||
| 
								 | 
							
									for display in ${hostname}:0 ${hostname}:0.0 localhost:0 localhost:0.0 unix:0 unix:0.0 :0 :0.0
							 | 
						|||
| 
								 | 
							
									do
							 | 
						|||
| 
								 | 
							
										if [ "$DISPLAY" = "$display" ]; then
							 | 
						|||
| 
								 | 
							
											isRemoteDisplay="false";
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
									done
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								xDisp="local"
							 | 
						|||
| 
								 | 
							
								if [ "$isRemoteDisplay" = "true" ]; then
							 | 
						|||
| 
								 | 
							
									xDisp="remote"
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								if [  -z "$DISPLAY" ]; then
							 | 
						|||
| 
								 | 
							
									xDisp="not set"
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								debugOut "X display............................... $xDisp"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								if [ -z "$DISPLAY" -a "$uimode" = "gui" ]; then
							 | 
						|||
| 
								 | 
							
									debugOut "[1mWARNING:  This shell's DISPLAY variable has not been set."
							 | 
						|||
| 
								 | 
							
									debugOut "This installer is  configured to run in GUI and will probably"
							 | 
						|||
| 
								 | 
							
									debugOut "fail.  Try running this  installer in console or silent mode,"
							 | 
						|||
| 
								 | 
							
									debugOut "or on another  UNIX  host which has the DISPLAY variable set,"
							 | 
						|||
| 
								 | 
							
									debugOut "if the installer unexpectedly fails.[0m"
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									if [ "$isRemoteDisplay" = "true" -a "$uimode" = "gui" ]; then
							 | 
						|||
| 
								 | 
							
										debugOut "[1mWARNING:  The name  of  this  host ($hostname) and  the setting"
							 | 
						|||
| 
								 | 
							
										debugOut "of this  shell's DISPLAY ($DISPLAY) variable do not match."
							 | 
						|||
| 
								 | 
							
										debugOut "If this launcher is being displayed to a Microsoft Windows desktop"
							 | 
						|||
| 
								 | 
							
										debugOut "through X Windows the Java Virtual Machine might abort. Try running"
							 | 
						|||
| 
								 | 
							
										debugOut "this installer locally on the target system or through X Windows to"
							 | 
						|||
| 
								 | 
							
										debugOut "another UNIX host if the installer unexpectedly fails.[0m"
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								debugOut "UI mode................................. $uimode"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# COMMENT ME TO REMOVE OUTPUT FROM NORMAL INSTALLER EXECUTION
							 | 
						|||
| 
								 | 
							
								if [ "$IS_INSTALLER" = "true" -a "$uimode" != "silent" ]; then
							 | 
						|||
| 
								 | 
							
									echo ""
							 | 
						|||
| 
								 | 
							
									LAN_CON_MSG=`getLocalizedString launch`
							 | 
						|||
| 
								 | 
							
								    printLocalizedString "$LAN_CON_MSG" "Launching installer..."
							 | 
						|||
| 
								 | 
							
									echo ""
							 | 
						|||
| 
								 | 
							
									[ -f "$CUSTOM" ] && rm -f "$CUSTOM"
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# MMA - clear ENV to address a problem where the shell initialization
							 | 
						|||
| 
								 | 
							
								# file (.Xshrc) pointed to by ENV may overide the classpath we have just set,
							 | 
						|||
| 
								 | 
							
								# causing the app to fail.  Drawback is that other environment variables set
							 | 
						|||
| 
								 | 
							
								# in the init file will not be available in the environment (they will be
							 | 
						|||
| 
								 | 
							
								# available as Java system properties, however).  Comment out the two lines
							 | 
						|||
| 
								 | 
							
								# below to change this behavior.
							 | 
						|||
| 
								 | 
							
								ENV=
							 | 
						|||
| 
								 | 
							
								export ENV
							 | 
						|||
| 
								 | 
							
								# I split these up so they would be a bit clearer on the screen.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#debugOut ""
							 | 
						|||
| 
								 | 
							
								debugOut "[7m========= VM Command Line ============================================[0m"
							 | 
						|||
| 
								 | 
							
								#debugOut "CLASSPATH=$lax_class_path"
							 | 
						|||
| 
								 | 
							
								#debugOut "[1m\"$actvm\" $options $lax_nl_java_launcher_main_class \"$propfname\" \"$envPropertiesFile\" $cmdLineArgs[0m"
							 | 
						|||
| 
								 | 
							
								#debugOut "[1m$command[0m"
							 | 
						|||
| 
								 | 
							
								debugOut "[1moptions:[0m $options"
							 | 
						|||
| 
								 | 
							
								# Here is where we actually run the app in Java:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								CLASSPATH="$lax_class_path:$CLASSPATH"; export CLASSPATH
							 | 
						|||
| 
								 | 
							
								debugOut "[7mCLASSPATH:[0m$CLASSPATH"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								if [ "`echo $actvm | grep 'jre$'`" ]; then
							 | 
						|||
| 
								 | 
							
									cpArg="-cp"
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								debugOut ""
							 | 
						|||
| 
								 | 
							
								unset POSIXLY_CORRECT
							 | 
						|||
| 
								 | 
							
								if [ $DO_NOT_FORK ]
							 | 
						|||
| 
								 | 
							
								then
							 | 
						|||
| 
								 | 
							
									debugOut "[7m========= Executing JAVA =============================================[0m"
							 | 
						|||
| 
								 | 
							
									# this is the original, it's still here for copy/paste purposes
							 | 
						|||
| 
								 | 
							
									#eval \"$actvm\" $options $lax_nl_java_launcher_main_class \"$propfname\" \"$envPropertiesFile\" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
									
							 | 
						|||
| 
								 | 
							
									lax_class_path=\"$lax_class_path\"
							 | 
						|||
| 
								 | 
							
									if [ $cpArg ]; then
							 | 
						|||
| 
								 | 
							
										command="\"$actvm\" $options $cpArg \"$CLASSPATH\" $lax_nl_java_launcher_main_class \"$propfname\" \"$envPropertiesFile\""
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										command="\"$actvm\" $options $lax_nl_java_launcher_main_class \"$propfname\" \"$envPropertiesFile\""
							 | 
						|||
| 
								 | 
							
									fi
							 | 
						|||
| 
								 | 
							
									eval $command $cmdLineArgs
							 | 
						|||
| 
								 | 
							
								else
							 | 
						|||
| 
								 | 
							
									debugOut "[7m========= Forking JAVA =============================================[0m"
							 | 
						|||
| 
								 | 
							
									if [ $cpArg  ]; then
							 | 
						|||
| 
								 | 
							
										exec "$actvm" $options $cpArg "$CLASSPATH" $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
									else
							 | 
						|||
| 
								 | 
							
										DISTRO_NAME=
							 | 
						|||
| 
								 | 
							
										GUEST_OS_NAME=
							 | 
						|||
| 
								 | 
							
										if [ -f /etc/issue ] ; then
							 | 
						|||
| 
								 | 
							
											DISTRO_NAME=`cat /etc/issue`
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										if [ -f /etc/centos-release ] ; then
							 | 
						|||
| 
								 | 
							
											DISTRO_NAME=`cat /etc/centos-release`
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										if [ -f /etc/redhat-release ] ; then
							 | 
						|||
| 
								 | 
							
											DISTRO_NAME=`cat /etc/redhat-release`
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										if [ ! -z "$DISTRO_NAME" ] ; then
							 | 
						|||
| 
								 | 
							
											if [ ! -z "$(echo $DISTRO_NAME | awk '/Ubuntu/')" ] ; then
							 | 
						|||
| 
								 | 
							
												jre_success=`exec "$actvm" 2>&1`
							 | 
						|||
| 
								 | 
							
												case "$jre_success" in
							 | 
						|||
| 
								 | 
							
														*not*found*|*install*bin* )
							 | 
						|||
| 
								 | 
							
																echo "JRE libraries are missing or not compatible...."
							 | 
						|||
| 
								 | 
							
																echo "Exiting...."
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
														*)
							 | 
						|||
| 
								 | 
							
															exec "$actvm" $options $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
														esac
							 | 
						|||
| 
								 | 
							
											elif [ ! -z "$(echo $DISTRO_NAME | awk '/CentOS/')" ] ; then
							 | 
						|||
| 
								 | 
							
												jre_success=`exec "$actvm" 2>&1`
							 | 
						|||
| 
								 | 
							
												case "$jre_success" in
							 | 
						|||
| 
								 | 
							
														*No*such*file*or*directory*|*install*bin*|*cannot*execute*binary*file* )
							 | 
						|||
| 
								 | 
							
																echo "JRE libraries are missing or not compatible...."
							 | 
						|||
| 
								 | 
							
																echo "Exiting...."
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
														*)
							 | 
						|||
| 
								 | 
							
															exec "$actvm" $options $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
														esac
							 | 
						|||
| 
								 | 
							
											elif [ ! -z "$(echo $DISTRO_NAME | awk '/SUSE/')" ] ; then
							 | 
						|||
| 
								 | 
							
												jre_success=`exec "$actvm" 2>&1`
							 | 
						|||
| 
								 | 
							
												case "$jre_success" in
							 | 
						|||
| 
								 | 
							
														*No*such*file*or*directory*|*install*bin*|*cannot*execute*binary*file* )
							 | 
						|||
| 
								 | 
							
																echo "JRE libraries are missing or not compatible...."
							 | 
						|||
| 
								 | 
							
																echo "Exiting...."
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
														*)
							 | 
						|||
| 
								 | 
							
															exec "$actvm" $options $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
												esac
							 | 
						|||
| 
								 | 
							
											elif [ ! -z "$(echo $DISTRO_NAME | awk '/Red Hat Enterprise Linux/')" ] ; then
							 | 
						|||
| 
								 | 
							
												jre_success=`exec "$actvm" 2>&1`
							 | 
						|||
| 
								 | 
							
												case "$jre_success" in
							 | 
						|||
| 
								 | 
							
													*No*such*file*or*directory*|*install*bin*|*cannot*execute*binary*file* )
							 | 
						|||
| 
								 | 
							
															echo "JRE libraries are missing or not compatible...."
							 | 
						|||
| 
								 | 
							
															echo "Exiting...."
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
													*)
							 | 
						|||
| 
								 | 
							
														exec "$actvm" $options $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
												esac
							 | 
						|||
| 
								 | 
							
											elif [ ! -z "$(echo $DISTRO_NAME | awk '/Fedora/')" ] ; then
							 | 
						|||
| 
								 | 
							
												jre_success=`exec "$actvm" 2>&1`
							 | 
						|||
| 
								 | 
							
												case "$jre_success" in
							 | 
						|||
| 
								 | 
							
													*No*such*file*or*directory*|*install*bin*|*cannot*execute*binary*file* )
							 | 
						|||
| 
								 | 
							
															echo "JRE libraries are missing or not compatible...."
							 | 
						|||
| 
								 | 
							
															echo "Exiting...."
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
													*)
							 | 
						|||
| 
								 | 
							
														exec "$actvm" $options $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
												esac
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												jre_success=`exec "$actvm" 2>&1`
							 | 
						|||
| 
								 | 
							
												case "$jre_success" in
							 | 
						|||
| 
								 | 
							
													*No*such*file*or*directory*|*install*bin*|*cannot*execute*binary*file* )
							 | 
						|||
| 
								 | 
							
															echo "JRE libraries are missing or not compatible...."
							 | 
						|||
| 
								 | 
							
															echo "Exiting...."
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
													*)
							 | 
						|||
| 
								 | 
							
														exec "$actvm" $options $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
												esac
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
											else
							 | 
						|||
| 
								 | 
							
												if [ -f /etc/release ] ; then
							 | 
						|||
| 
								 | 
							
													DISTRO_NAME=`cat /etc/release`
							 | 
						|||
| 
								 | 
							
												fi
							 | 
						|||
| 
								 | 
							
												if [ ! -z "$DISTRO_NAME" ] ; then
							 | 
						|||
| 
								 | 
							
													if [ ! -z "$(echo $DISTRO_NAME | awk '/Solaris/')" ] ; then
							 | 
						|||
| 
								 | 
							
														if [ -z "$(echo $DISTRO_NAME | awk '/SPARC/')" ] ; then
							 | 
						|||
| 
								 | 
							
															DO_NOT_FORK=1;
							 | 
						|||
| 
								 | 
							
															export DO_NOT_FORK
							 | 
						|||
| 
								 | 
							
														fi
							 | 
						|||
| 
								 | 
							
														JRE_SUCCESS=`exec "$actvm" 2>&1`
							 | 
						|||
| 
								 | 
							
														case "$JRE_SUCCESS" in
							 | 
						|||
| 
								 | 
							
														*cannot*execute*|*install*bin* )
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
																echo "JRE libraries are missing or not compatible...."
							 | 
						|||
| 
								 | 
							
																echo "Exiting...."
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
														*Usage*)
							 | 
						|||
| 
								 | 
							
															exec "$actvm" $options $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
														*)  
							 | 
						|||
| 
								 | 
							
															exec "$actvm" $options $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
													    ;;
							 | 
						|||
| 
								 | 
							
														esac
							 | 
						|||
| 
								 | 
							
													else
							 | 
						|||
| 
								 | 
							
														exec "$actvm" $options $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
													fi
							 | 
						|||
| 
								 | 
							
													
							 | 
						|||
| 
								 | 
							
												else
							 | 
						|||
| 
								 | 
							
												jre_success=`exec "$actvm" 2>&1`
							 | 
						|||
| 
								 | 
							
												case "$jre_success" in
							 | 
						|||
| 
								 | 
							
													*No*such*file*or*directory*|*install*bin*|*cannot*execute*binary*file* )
							 | 
						|||
| 
								 | 
							
															echo "JRE libraries are missing or not compatible...."
							 | 
						|||
| 
								 | 
							
															echo "Exiting...."
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
													*)
							 | 
						|||
| 
								 | 
							
														exec "$actvm" $options $lax_nl_java_launcher_main_class "$propfname" "$envPropertiesFile" $cmdLineArgs
							 | 
						|||
| 
								 | 
							
														;;
							 | 
						|||
| 
								 | 
							
												esac
							 | 
						|||
| 
								 | 
							
												fi
							 | 
						|||
| 
								 | 
							
												
							 | 
						|||
| 
								 | 
							
											fi
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										fi
							 | 
						|||
| 
								 | 
							
								fi
							 | 
						|||
| 
								 | 
							
								exitValue=$?
							 | 
						|||
| 
								 | 
							
								debugOut "[7m========= JAVA Finished ==============================================[0m"
							 | 
						|||
| 
								 | 
							
								debugOut ""
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#  Change back to directory used priory to this script running.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								cd "$olddir"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								exit $exitValue
							 |