From fd123dfd23f241e312dfa5e6430dc52cf4a0a98d Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Fri, 28 Sep 2007 19:50:40 +0000
Subject: [PATCH] Fix for issue 2035 (Use OpenDS specific environment variables to determine the JVM to be used.)
---
opendj-sdk/opends/resource/uninstall | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 112 insertions(+), 6 deletions(-)
diff --git a/opendj-sdk/opends/resource/uninstall b/opendj-sdk/opends/resource/uninstall
index 4ad1205..44e6abc 100644
--- a/opendj-sdk/opends/resource/uninstall
+++ b/opendj-sdk/opends/resource/uninstall
@@ -27,11 +27,117 @@
# This script may be used to uninstall the server.
-OPENDS_INVOKE_CLASS="org.opends.guitools.uninstaller.UninstallLauncher"
-export OPENDS_INVOKE_CLASS
-SCRIPT_NAME_ARG="-Dorg.opends.server.scriptName=uninstall"
-export SCRIPT_NAME_ARG
+# Explicitly set the PATH, LD_LIBRARY_PATH, LD_PRELOAD, and other important
+# system environment variables for security and compatibility reasons.
+PATH=/bin:/usr/bin
+LD_LIBRARY_PATH=
+LD_LIBRARY_PATH_32=
+LD_LIBRARY_PATH_64=
+LD_PRELOAD=
+LD_PRELOAD_32=
+LD_PRELOAD_64=
+export PATH LD_LIBRARY_PATH LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64 \
+ LD_PRELOAD LD_PRELOAD_32 LD_PRELOAD_34
-SCRIPT_DIR=`dirname "${0}"`
-"${SCRIPT_DIR}/lib/_client-script.sh" "${@}"
\ No newline at end of file
+
+# Capture the current working directory so that we can change to it later.
+# Then capture the location of this script and the Directory Server instance
+# root so that we can use them to create appropriate paths.
+WORKING_DIR=`pwd`
+
+cd `dirname "${0}"`
+SCRIPT_DIR=`pwd`
+
+INSTANCE_ROOT=${SCRIPT_DIR}
+export INSTANCE_ROOT
+
+cd "${WORKING_DIR}"
+
+# See if the environment variables are set. If not, then see if there is a java
+# executable in the path and try to figure it out.
+if test -z "${OPENDS_JAVA_BIN}"
+then
+ if test -z "${OPENDS_JAVA_HOME}"
+ then
+ if test -f "${INSTANCE_ROOT}/lib/set-java-home"
+ then
+ . "${INSTANCE_ROOT}/lib/set-java-home"
+ OPENDS_JAVA_BIN="${OPENDS_JAVA_HOME}/bin/java"
+ export OPENDS_JAVA_BIN
+ else
+ if test -z "${JAVA_BIN}"
+ then
+ if test -z "${JAVA_HOME}"
+ then
+ OPENDS_JAVA_BIN=`which java 2> /dev/null`
+ if test ${?} -eq 0
+ then
+ export OPENDS_JAVA_BIN
+ else
+ echo "Please set OPENDS_JAVA_HOME to the root of a Java 5 (or later) installation."
+ exit 1
+ fi
+ else
+ OPENDS_JAVA_BIN="${JAVA_HOME}/bin/java"
+ export OPENDS_JAVA_BIN
+ fi
+ else
+ OPENDS_JAVA_BIN="${JAVA_BIN}"
+ export OPENDS_JAVA_BIN
+ fi
+ fi
+ else
+ OPENDS_JAVA_BIN="${OPENDS_JAVA_HOME}/bin/java"
+ export OPENDS_JAVA_BIN
+ fi
+fi
+
+
+# Configure the appropriate CLASSPATH.
+CLASSPATH=${INSTANCE_ROOT}/classes
+for JAR in ${INSTANCE_ROOT}/lib/*.jar
+do
+ CLASSPATH=${CLASSPATH}:${JAR}
+done
+export CLASSPATH
+
+
+# Determine whether the detected Java environment is acceptable for use.
+if test -z "${JAVA_ARGS}"
+then
+ "${OPENDS_JAVA_BIN}" -client org.opends.server.tools.InstallDS -t 2> /dev/null
+ if test ${?} -eq 0
+ then
+ JAVA_ARGS="-client"
+ else
+ "${OPENDS_JAVA_BIN}" org.opends.server.tools.InstallDS -t 2> /dev/null
+ if test ${?} -ne 0
+ then
+ echo "ERROR: The detected Java version could not be used. Please set "
+ echo " OPENDS_JAVA_HOME to the root of a Java 5 (or later) installation."
+ exit 1
+ fi
+ fi
+else
+ "${OPENDS_JAVA_BIN}" ${JAVA_ARGS} org.opends.server.tools.InstallDS -t 2> /dev/null
+ if test ${?} -ne 0
+ then
+ echo "ERROR: The detected Java version could not be used. Please set "
+ echo " OPENDS_JAVA_HOME to the root of a Java 5 (or later) installation."
+ exit 1
+ fi
+fi
+
+# Launch the uninstall process.
+"${OPENDS_JAVA_BIN}" -Dorg.opends.server.scriptName=uninstall org.opends.guitools.uninstaller.UninstallLauncher "${@}"
+
+# return part
+RETURN_CODE=$?
+if test ${RETURN_CODE} -eq 50
+then
+ # Version info was on requested
+ exit 0
+else
+ exit ${RETURN_CODE}
+fi
--
Gitblit v1.10.0