_script-util.sh revision 5022
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson#!/bin/sh
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson#
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson# CDDL HEADER START
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson#
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.
267e43ad6455f631dfdb9e552909a137b9e4f087boli#
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#
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#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff# CDDL HEADER END
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
d25372dc8e65a9ed019a88fdf659ca61313f1b31jcduff#
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson# Copyright 2008-2010 Sun Microsystems, Inc.
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift#
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# Display an error message
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson#
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilsondisplay_java_not_found_error() {
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 echo "specify the Java version to be used"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift}
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift#
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# function that tests the JAVA_HOME env variable.
267e43ad6455f631dfdb9e552909a137b9e4f087boli#
03839fc8bfcf7f63ca2b9d3a48faabf94642b00bdugantest_java_home() {
03839fc8bfcf7f63ca2b9d3a48faabf94642b00bdugan if test -z "${JAVA_HOME}"
03839fc8bfcf7f63ca2b9d3a48faabf94642b00bdugan then
03839fc8bfcf7f63ca2b9d3a48faabf94642b00bdugan display_java_not_found_error
03839fc8bfcf7f63ca2b9d3a48faabf94642b00bdugan exit 1
03839fc8bfcf7f63ca2b9d3a48faabf94642b00bdugan else
267e43ad6455f631dfdb9e552909a137b9e4f087boli OPENDS_JAVA_BIN="${JAVA_HOME}/bin/java"
267e43ad6455f631dfdb9e552909a137b9e4f087boli if test -f "${OPENDS_JAVA_BIN}"
267e43ad6455f631dfdb9e552909a137b9e4f087boli then
78ebdb0fc9f2a940f8385300ee5b4952d225b899boli export OPENDS_JAVA_BIN
ae8010f9ddf526c96a9274296e01f6aa3f122d72neil_a_wilson else
3effb6e09816d45ff07f200fec2b6ecb9588fa7fneil_a_wilson display_java_not_found_error
3effb6e09816d45ff07f200fec2b6ecb9588fa7fneil_a_wilson exit 1
3effb6e09816d45ff07f200fec2b6ecb9588fa7fneil_a_wilson fi
3effb6e09816d45ff07f200fec2b6ecb9588fa7fneil_a_wilson fi
3effb6e09816d45ff07f200fec2b6ecb9588fa7fneil_a_wilson}
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson#
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# function that tests the JAVA_BIN env variable.
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift#
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsontest_java_bin() {
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson if test -z "${JAVA_BIN}"
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson then
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson test_java_home
af6117fa729925b9e6cccbda589fecbb83f2b70fneil_a_wilson else
af6117fa729925b9e6cccbda589fecbb83f2b70fneil_a_wilson OPENDS_JAVA_BIN="${JAVA_BIN}"
af6117fa729925b9e6cccbda589fecbb83f2b70fneil_a_wilson if test -f "${OPENDS_JAVA_BIN}"
af6117fa729925b9e6cccbda589fecbb83f2b70fneil_a_wilson then
af6117fa729925b9e6cccbda589fecbb83f2b70fneil_a_wilson export OPENDS_JAVA_BIN
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift else
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift test_java_home
af6117fa729925b9e6cccbda589fecbb83f2b70fneil_a_wilson fi
af6117fa729925b9e6cccbda589fecbb83f2b70fneil_a_wilson fi
af6117fa729925b9e6cccbda589fecbb83f2b70fneil_a_wilson}
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift#
af6117fa729925b9e6cccbda589fecbb83f2b70fneil_a_wilson# function that tests the java executable in the PATH env variable.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilsontest_java_path() {
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson OPENDS_JAVA_BIN=`which java 2> /dev/null`
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson if test -f "${OPENDS_JAVA_BIN}"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson then
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson export OPENDS_JAVA_BIN
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift else
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson test_java_bin
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson fi
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson}
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# function that tests the OPENDS_JAVA_HOME env variable.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilsontest_opends_java_home() {
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson if test -z "${OPENDS_JAVA_HOME}"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson then
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson test_java_path
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson else
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift OPENDS_JAVA_BIN="${OPENDS_JAVA_HOME}/bin/java"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift if test -f "${OPENDS_JAVA_BIN}"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift then
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson export OPENDS_JAVA_BIN
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift else
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson test_java_path
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson fi
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson fi
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson}
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# function that tests the OPENDS_JAVA_BIN env variable.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilsontest_opends_java_bin() {
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson if test -z "${OPENDS_JAVA_BIN}"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson then
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson test_opends_java_home
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift else
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson if test -f "${OPENDS_JAVA_BIN}"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson then
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson export OPENDS_JAVA_BIN
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson else
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson test_opends_java_home
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson fi
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson fi
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson}
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson# function that sets the java home
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson#
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swiftset_java_home_and_args() {
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift if test -f "${INSTANCE_ROOT}/lib/set-java-home"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift then
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson . "${INSTANCE_ROOT}/lib/set-java-home"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift fi
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson test_opends_java_bin
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson}
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift# Determine whether the detected Java environment is acceptable for use.
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilsontest_java() {
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson if test -z "${OPENDS_JAVA_ARGS}"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson then
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson "${OPENDS_JAVA_BIN}" org.opends.server.tools.InstallDS -t 2> /dev/null
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson RESULT_CODE=${?}
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson if test ${RESULT_CODE} -eq 13
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson then
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 exit 1
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson elif test ${RESULT_CODE} -ne 0
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson then
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "ERROR: The detected Java version could not be used. The detected"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "Java binary is:"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "${OPENDS_JAVA_BIN}"
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "You must specify the path to a valid Java 5.0 or higher version."
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson echo "The procedure to follow is:"
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 "Java 5.0 installation."
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift echo "If you want to have specific Java settings for each command line you must"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift echo "follow the steps 3 and 4."
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 exit 1
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson fi
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift else
7ea3e4667fd4a40f7792638bc429b36d8066557aneil_a_wilson "${OPENDS_JAVA_BIN}" ${OPENDS_JAVA_ARGS} org.opends.server.tools.InstallDS -t 2> /dev/null
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson RESULT_CODE=${?}
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson if test ${RESULT_CODE} -eq 13
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson then
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
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift exit 1
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson elif test ${RESULT_CODE} -ne 0
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson then
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson echo "ERROR: The detected Java version could not be used with the set of Java"
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson echo "arguments ${OPENDS_JAVA_ARGS}."
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson echo "The detected Java binary is:"
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson echo "${OPENDS_JAVA_BIN}"
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson echo "You must specify the path to a valid Java 5.0 or higher version."
d1759377955a57f4c7362308bc78565694a87680neil_a_wilson echo "The procedure to follow is:"
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 "Java 5.0 installation."
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson echo "If you want to have specific Java settings for each command line you must"
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson echo "follow the steps 3 and 4."
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 exit 1
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson fi
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson fi
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson}
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson
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_wilsonset_environment_vars() {
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson PATH=/bin:/usr/bin
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson LD_LIBRARY_PATH=
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson LD_LIBRARY_PATH_32=
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson LD_LIBRARY_PATH_64=
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson LD_PRELOAD=
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson LD_PRELOAD_32=
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson LD_PRELOAD_64=
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson export PATH LD_LIBRARY_PATH LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64 \
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson LD_PRELOAD LD_PRELOAD_32 LD_PRELOAD_64
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson SCRIPT_NAME_ARG=-Dorg.opends.server.scriptName=${SCRIPT_NAME}
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson export SCRIPT_NAME_ARG
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson}
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson# Configure the appropriate CLASSPATH.
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilsonset_classpath() {
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson CLASSPATH="${INSTANCE_ROOT}/classes"
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson for JAR in "${INSTALL_ROOT}/resources/"*.jar
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson do
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson CLASSPATH=${CLASSPATH}:${JAR}
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson done
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson for JAR in "${INSTALL_ROOT}/lib/"*.jar
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson do
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson CLASSPATH=${CLASSPATH}:${JAR}
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson done
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ "${INSTALL_ROOT}" != "${INSTANCE_ROOT}" ]
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson then
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson for JAR in "${INSTANCE_ROOT}/lib/"*.jar
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson do
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson CLASSPATH=${CLASSPATH}:${JAR}
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson done
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson fi
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson export CLASSPATH
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson}
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilsonisVersionOrHelp() {
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift for opt in `echo $*`
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift do
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ $opt = "-V" ] || [ $opt = "--version" ] ||
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson [ $opt = "-H" ] || [ $opt = "--help" ] ||
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson [ $opt = "-F" ] || [ $opt = "--fullversion" ]
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson then
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson return 0
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson fi
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson done
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson return 1
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson}
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilsonif test "${INSTALL_ROOT}" = ""
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilsonthen
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 WORKING_DIR=`pwd`
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson cd "`dirname "${0}"`"
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson cd ..
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson INSTALL_ROOT=`pwd`
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson cd "${WORKING_DIR}"
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilsonfi
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilsonif test "${INSTANCE_ROOT}" = ""
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilsonthen
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ -f "${INSTALL_ROOT}/configure" ]
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson then
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ -f /etc/opends/instance.loc ]
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson then
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ "${SCRIPT_NAME}" = "configure" ]
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson then
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson isVersionOrHelp $*
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ $? -eq 1 ]
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson then
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson echo "${INSTALL_ROOT}/configure has already been run. Exiting."
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson exit 0
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson fi
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson fi
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson read INSTANCE_ROOT < /etc/opends/instance.loc
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson else
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ "${SCRIPT_NAME}" != "configure" ]
cce37bc37be36f1ed442ab722fb33b58c4cebe46neil_a_wilson then
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson isVersionOrHelp $*
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson if [ $? -eq 1 ]
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson then
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson echo "No instance found. Run ${INSTALL_ROOT}/configure to create it."
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson exit 1
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson fi
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson fi
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson fi
c20e7e3e6b1dd174c025487ceef713f07d77ba4bneil_a_wilson else
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson if [ -f "${INSTALL_ROOT}/instance.loc" ]
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson then
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson read location < ${INSTALL_ROOT}/instance.loc
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson case `echo ${location}` in
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson /*)
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift INSTANCE_ROOT=${location}
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift break
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson ;;
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson *)
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson INSTANCE_ROOT=${INSTALL_ROOT}/${location}
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson break
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson ;;
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson esac
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson else
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson INSTANCE_ROOT=${INSTALL_ROOT}
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson fi
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson fi
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson if [ -d "${INSTANCE_ROOT}" ]
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson then
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson CURRENT_DIR=`pwd`
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson cd "${INSTANCE_ROOT}"
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson INSTANCE_ROOT=`pwd`
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson export INSTANCE_ROOT
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson cd "${CURRENT_DIR}"
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson fi
5068612b175360889317ffea5826e816c2abbe08neil_a_wilsonfi
5157c803af3d7ccb2f03801cc912b44149182cb3neil_a_wilson
5302da548d89d97dd4787e3b37f1def73688bd2bneil_a_wilsonif test "${SCRIPT_UTIL_CMD}" = "set-full-environment-and-test-java"
5302da548d89d97dd4787e3b37f1def73688bd2bneil_a_wilsonthen
5302da548d89d97dd4787e3b37f1def73688bd2bneil_a_wilson set_java_home_and_args
5302da548d89d97dd4787e3b37f1def73688bd2bneil_a_wilson set_environment_vars
24d6db06810f2ea747f6dff60d483e4fca3aaa13davidely set_classpath
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift test_java
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swiftelif test "${SCRIPT_UTIL_CMD}" = "set-full-environment"
5302da548d89d97dd4787e3b37f1def73688bd2bneil_a_wilsonthen
5302da548d89d97dd4787e3b37f1def73688bd2bneil_a_wilson set_java_home_and_args
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson set_environment_vars
5302da548d89d97dd4787e3b37f1def73688bd2bneil_a_wilson set_classpath
e7c6610fb63eef85f8c7b57e12c8104059609e97dugan elif test "${SCRIPT_UTIL_CMD}" = "set-java-home-and-args"
e7c6610fb63eef85f8c7b57e12c8104059609e97duganthen
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift set_java_home_and_args
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swiftelif test "${SCRIPT_UTIL_CMD}" = "set-environment-vars"
e7c6610fb63eef85f8c7b57e12c8104059609e97duganthen
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift set_environment_vars
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swiftelif test "${SCRIPT_UTIL_CMD}" = "set-classpath"
e7c6610fb63eef85f8c7b57e12c8104059609e97duganthen
8fbc8408d0efcc76724939bf52a39298f391b46fdugan set_classpath
8fbc8408d0efcc76724939bf52a39298f391b46fduganelif test "${SCRIPT_UTIL_CMD}" = "test-java"
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swiftthen
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift test_java
8fbc8408d0efcc76724939bf52a39298f391b46fduganfi
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swiftcurrent_user()
8fbc8408d0efcc76724939bf52a39298f391b46fdugan{
e7c6610fb63eef85f8c7b57e12c8104059609e97duganUSER=`id`
e7c6610fb63eef85f8c7b57e12c8104059609e97duganCURRENT_IFS=${IFS}
e7c6610fb63eef85f8c7b57e12c8104059609e97duganIFS="()"
e7c6610fb63eef85f8c7b57e12c8104059609e97duganset -- ${USER}
e7c6610fb63eef85f8c7b57e12c8104059609e97duganecho $2
e7c6610fb63eef85f8c7b57e12c8104059609e97duganIFS=${CURRENT_IFS}
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift}
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift
e7c6610fb63eef85f8c7b57e12c8104059609e97duganif [ "${SCRIPT_NAME}" != "configure" ] && [ "${SCRIPT_NAME}" != "unconfigure" ]
e7c6610fb63eef85f8c7b57e12c8104059609e97duganthen
e7c6610fb63eef85f8c7b57e12c8104059609e97dugan # Perform check unless it is specified not to do it
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson if [ -z "$NO_CHECK" ]
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson then
5068612b175360889317ffea5826e816c2abbe08neil_a_wilson NO_CHECK=0
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift fi
e7c6610fb63eef85f8c7b57e12c8104059609e97dugan if [ ${NO_CHECK} -eq 0 ]
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson then
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson # No check for --version or --help option
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift isVersionOrHelp $*
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift if [ $? -eq 0 ]
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson then
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson NO_CHECK=1
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson fi
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson fi
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson if [ ${NO_CHECK} -eq 0 ]
a89f073e2246d8dc081ec584f19bbcd813b9a44cneil_a_wilson then
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson set_classpath
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson # Check instance
89bb69f651eab9fd3f4091800e226342444f2fb2neil_a_wilson CURRENT_USER="`current_user`"
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck if [ "${CHECK_VERSION}" = "yes" ]
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck then
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck OPT_CHECK_VERSION="--checkVersion"
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck else
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck OPT_CHECK_VERSION=""
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck fi
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
987a50dfe113ed235d28716ff080b59e8873655cmatthew_swift RETURN_CODE=$?
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck if [ ${RETURN_CODE} -ne 0 ]
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck then
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck exit 1
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck fi
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck fi
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeckfi
801cd264752a07453c37da6f30cc5b27ae3f6f42coulbeck