_script-util.sh revision 5022
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson# CDDL HEADER START
e4ff5e7757146c139160c3e78f4ac5ee1584dde5coulbeck# The contents of this file are subject to the terms of the
e4ff5e7757146c139160c3e78f4ac5ee1584dde5coulbeck# Common Development and Distribution License, Version 1.0 only
267e43ad6455f631dfdb9e552909a137b9e4f087boli# (the "License"). You may not use this file except in compliance
267e43ad6455f631dfdb9e552909a137b9e4f087boli# with the License.
78ebdb0fc9f2a940f8385300ee5b4952d225b899boli# You can obtain a copy of the license at
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson# trunk/opends/resource/legal-notices/OpenDS.LICENSE
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson# or https://OpenDS.dev.java.net/OpenDS.LICENSE.
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson# See the License for the specific language governing permissions
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson# and limitations under the License.
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# When distributing Covered Code, include this CDDL HEADER in each
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson# file and include the License file at
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# add the following below this CDDL HEADER, with the fields enclosed
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson# by brackets "[]" replaced with your own identifying information:
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# Portions Copyright [yyyy] [name of copyright owner]
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# CDDL HEADER END
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson# Copyright 2008-2010 Sun Microsystems, Inc.
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# Display an error message
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson echo "Please set OPENDS_JAVA_HOME to the root of a Java 5 (or later) installation"
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson echo "or edit the java.properties file and then run the dsjavaproperties script to"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# function that tests the JAVA_HOME env variable.
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# function that tests the JAVA_BIN env variable.
af6117fa729925b9e6cccbda589fecbb83f2b70fneil_a_wilson# function that tests the java executable in the PATH env variable.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# function that tests the OPENDS_JAVA_HOME env variable.
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift OPENDS_JAVA_BIN="${OPENDS_JAVA_HOME}/bin/java"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# function that tests the OPENDS_JAVA_BIN env variable.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# function that sets the java home
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift if test -f "${INSTANCE_ROOT}/lib/set-java-home"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# Determine whether the detected Java environment is acceptable for use.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson "${OPENDS_JAVA_BIN}" org.opends.server.tools.InstallDS -t 2> /dev/null
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson if test ${RESULT_CODE} -eq 13
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift # This is a particular error code that means that the Java version is 5
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson # but not supported. Let InstallDS to display the localized error message
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson "${OPENDS_JAVA_BIN}" org.opends.server.tools.InstallDS -t
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson elif test ${RESULT_CODE} -ne 0
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "ERROR: The detected Java version could not be used. The detected"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "You must specify the path to a valid Java 5.0 or higher version."
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "1. Delete the file ${INSTANCE_ROOT}/lib/set-java-home" if it exists.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "2. Set the environment variable OPENDS_JAVA_HOME to the root of a valid "
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift echo "If you want to have specific Java settings for each command line you must"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "3. Edit the properties file specifying the Java binary and the Java arguments"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift echo "for each command line. The Java properties file is located in:"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "${INSTANCE_ROOT}/config/java.properties."
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "4. Run the command-line ${INSTANCE_ROOT}/bin/dsjavaproperties"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson "${OPENDS_JAVA_BIN}" ${OPENDS_JAVA_ARGS} org.opends.server.tools.InstallDS -t 2> /dev/null
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson if test ${RESULT_CODE} -eq 13
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson # This is a particular error code that means that the Java version is 5
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson # but not supported. Let InstallDS to display the localized error message
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift "${OPENDS_JAVA_BIN}" org.opends.server.tools.InstallDS -t
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson elif test ${RESULT_CODE} -ne 0
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson echo "ERROR: The detected Java version could not be used with the set of Java"
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson echo "You must specify the path to a valid Java 5.0 or higher version."
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson echo "1. Delete the file ${INSTANCE_ROOT}/lib/set-java-home" if it exists.
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson echo "2. Set the environment variable OPENDS_JAVA_HOME to the root of a valid "
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson echo "If you want to have specific Java settings for each command line you must"
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson echo "3. Edit the properties file specifying the Java binary and the Java arguments"
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson echo "for each command line. The Java properties file is located in:"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift echo "${INSTANCE_ROOT}/config/java.properties."
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift echo "4. Run the command-line ${INSTANCE_ROOT}/bin/dsjavaproperties"
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson# Explicitly set the PATH, LD_LIBRARY_PATH, LD_PRELOAD, and other important
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson# system environment variables for security and compatibility reasons.
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson export PATH LD_LIBRARY_PATH LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64 \
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson SCRIPT_NAME_ARG=-Dorg.opends.server.scriptName=${SCRIPT_NAME}
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson# Configure the appropriate CLASSPATH.
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ "${INSTALL_ROOT}" != "${INSTANCE_ROOT}" ]
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ $opt = "-V" ] || [ $opt = "--version" ] ||
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson # Capture the current working directory so that we can change to it later.
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson # Then capture the location of this script and the Directory Server instance
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson # root so that we can use them to create appropriate paths.
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson cd "${WORKING_DIR}"
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ -f "${INSTALL_ROOT}/configure" ]
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson echo "${INSTALL_ROOT}/configure has already been run. Exiting."
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson echo "No instance found. Run ${INSTALL_ROOT}/configure to create it."
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson if [ -f "${INSTALL_ROOT}/instance.loc" ]
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson if [ -d "${INSTANCE_ROOT}" ]
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson cd "${INSTANCE_ROOT}"
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson cd "${CURRENT_DIR}"
5302da548d89d97dd4787e3b37f1def73688bd2bneil_a_wilsonif test "${SCRIPT_UTIL_CMD}" = "set-full-environment-and-test-java"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swiftelif test "${SCRIPT_UTIL_CMD}" = "set-full-environment"
e7c6610fb63eef85f8c7b57e12c8104059609e97dugan elif test "${SCRIPT_UTIL_CMD}" = "set-java-home-and-args"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swiftelif test "${SCRIPT_UTIL_CMD}" = "set-environment-vars"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swiftelif test "${SCRIPT_UTIL_CMD}" = "set-classpath"
e7c6610fb63eef85f8c7b57e12c8104059609e97duganif [ "${SCRIPT_NAME}" != "configure" ] && [ "${SCRIPT_NAME}" != "unconfigure" ]
e7c6610fb63eef85f8c7b57e12c8104059609e97dugan # Perform check unless it is specified not to do it
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson # No check for --version or --help option
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson # Check instance
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck # Launch the CheckInstance process.
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck "${OPENDS_JAVA_BIN}" ${SCRIPT_NAME_ARG} "-DINSTALL_ROOT=${INSTALL_ROOT}" "-DINSTANCE_ROOT=${INSTANCE_ROOT}" org.opends.server.tools.configurator.CheckInstance --currentUser ${CURRENT_USER} ${OPT_CHECK_VERSION}
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift # return part