do not ignore user configured JAVA_HOME

Patch by eevans; reviewed by Michael Shuler for CASSANDRA-6131
This commit is contained in:
Eric Evans 2014-01-02 17:05:43 -06:00
parent 5284e129f6
commit d278b7c2d5
1 changed files with 7 additions and 36 deletions

43
debian/init vendored
View File

@ -24,9 +24,6 @@ WAIT_FOR_START=10
CASSANDRA_HOME=/usr/share/cassandra
FD_LIMIT=100000
# The first existing directory is used for JAVA_HOME if needed.
JVM_SEARCH_DIRS="/usr/lib/jvm/default-java"
[ -e /usr/share/cassandra/apache-cassandra.jar ] || exit 0
[ -e /etc/cassandra/cassandra.yaml ] || exit 0
[ -e /etc/cassandra/cassandra-env.sh ] || exit 0
@ -34,34 +31,6 @@ JVM_SEARCH_DIRS="/usr/lib/jvm/default-java"
# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# If JAVA_HOME has not been set, try to determine it.
if [ -z "$JAVA_HOME" ]; then
# If java is in PATH, use a JAVA_HOME that corresponds to that. This is
# both consistent with how the upstream startup script works, and how
# Debian works (read: the use of alternatives to set a system JVM).
if [ -n "`which java`" ]; then
java=`which java`
# Dereference symlink(s)
while true; do
if [ -h "$java" ]; then
java=`readlink "$java"`
continue
fi
break
done
JAVA_HOME="`dirname $java`/../"
# No JAVA_HOME set and no java found in PATH, search for a JVM.
else
for jdir in $JVM_SEARCH_DIRS; do
if [ -x "$jdir/bin/java" ]; then
JAVA_HOME="$jdir"
break
fi
done
fi
fi
JAVA="$JAVA_HOME/bin/java"
# Read Cassandra environment file.
. /etc/cassandra/cassandra-env.sh
@ -70,6 +39,12 @@ if [ -z "$JVM_OPTS" ]; then
exit 3
fi
# Add JNA to EXTRA_CLASSPATH
export EXTRA_CLASSPATH="/usr/share/java/jna.jar:$EXTRA_CLASSPATH"
# Export JAVA_HOME, if set.
[ -n "$JAVA_HOME" ] && export JAVA_HOME
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
@ -77,10 +52,6 @@ fi
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
# If JNA is installed, add it to EXTRA_CLASSPATH
#
EXTRA_CLASSPATH="/usr/share/java/jna.jar:$EXTRA_CLASSPATH"
#
# Function that returns 0 if process is running, or nonzero if not.
#
@ -119,7 +90,7 @@ do_start()
[ -e `dirname "$PIDFILE"` ] || \
install -d -ocassandra -gcassandra -m750 `dirname $PIDFILE`
export EXTRA_CLASSPATH
start-stop-daemon -S -c cassandra -a /usr/sbin/cassandra -q -p "$PIDFILE" -t >/dev/null || return 1