Repository: cloudstack Updated Branches: refs/heads/4.3 ec823db47 -> 3bf4c2943
CLOUDSTACK-6926: removed hard coded jdk dirs and setting java home using readlink and dirname Signed-off-by: Sebastien Goasguen <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3bf4c294 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3bf4c294 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3bf4c294 Branch: refs/heads/4.3 Commit: 3bf4c294313eb0bdb9597f0a2222f2cf6b81a8b4 Parents: ec823db Author: Rajani Karuturi <[email protected]> Authored: Wed Jun 18 15:36:32 2014 +0530 Committer: Sebastien Goasguen <[email protected]> Committed: Thu Jul 3 15:08:18 2014 +0200 ---------------------------------------------------------------------- packaging/centos63/cloud-usage.rc | 32 ++++++++++++++++++++++++-------- packaging/debian/init/cloud-usage | 32 ++++++++++++++++++++++++-------- 2 files changed, 48 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3bf4c294/packaging/centos63/cloud-usage.rc ---------------------------------------------------------------------- diff --git a/packaging/centos63/cloud-usage.rc b/packaging/centos63/cloud-usage.rc index e78f8c1..aa9f6c6 100755 --- a/packaging/centos63/cloud-usage.rc +++ b/packaging/centos63/cloud-usage.rc @@ -46,15 +46,31 @@ USER=cloud unset OPTIONS [ -r /etc/sysconfig/default/"$SHORTNAME" ] && source /etc/sysconfig/default/"$SHORTNAME" -# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT) -JDK_DIRS="/usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-openjdk-i386 /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-6-sun /usr/lib/jvm/jre-1.6.0 /usr/lib/j2sdk1.5-sun /usr/lib/jre-openjdk" +setJavaHome() { + # use $JAVA_HOME if defined + if [ -n "$JAVA_HOME" ] ; then + return + fi + + # try javac first + java=$(which javac 2>/dev/null || :) + + # try java if javac is not found + if [ -z "$java" ] ; then + java=$(which java 2>/dev/null || :) + fi + + if [ -n "$java" ] ; then + JAVA_HOME=$(dirname $(dirname $(readlink -e $java))) + export JAVA_HOME + return + fi + + # didnt find java home. exiting with error + exit 1 +} -for jdir in $JDK_DIRS; do - if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then - JAVA_HOME="$jdir" - fi -done -export JAVA_HOME +setJavaHome SCP="" DCP="" http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3bf4c294/packaging/debian/init/cloud-usage ---------------------------------------------------------------------- diff --git a/packaging/debian/init/cloud-usage b/packaging/debian/init/cloud-usage index 1cc75cc..a12dc70 100755 --- a/packaging/debian/init/cloud-usage +++ b/packaging/debian/init/cloud-usage @@ -42,15 +42,31 @@ DAEMON="/usr/bin/jsvc" unset OPTIONS [ -r /etc/default/"$SHORTNAME" ] && source /etc/default/"$SHORTNAME" -# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT) -JDK_DIRS="/usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-openjdk-i386 /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-6-sun" +setJavaHome() { + # use $JAVA_HOME if defined + if [ -n "$JAVA_HOME" ] ; then + return + fi + + # try javac first + java=$(which javac 2>/dev/null || :) + + # try java if javac is not found + if [ -z "$java" ] ; then + java=$(which java 2>/dev/null || :) + fi + + if [ -n "$java" ] ; then + JAVA_HOME=$(dirname $(dirname $(readlink -e $java))) + export JAVA_HOME + return + fi + + # didnt find java home. exiting with error + exit 1 +} -for jdir in $JDK_DIRS; do - if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then - JAVA_HOME="$jdir" - fi -done -export JAVA_HOME +setJavaHome UCP=`ls /usr/share/cloudstack-usage/lib/*.jar | tr '\n' ':' | sed s'/.$//'` PCP=`ls /usr/share/cloudstack-usage/plugins/*.jar 2>/dev/null | tr '\n' ':' | sed s'/.$//'`
