Skip to content

Commit c468228

Browse files
karuturiKishan Kavala
authored andcommitted
CLOUDSTACK-6926: removed hard coded jdk dirs and setting java home using readlink and dirname
1 parent 75c9a20 commit c468228

File tree

2 files changed

+48
-16
lines changed

2 files changed

+48
-16
lines changed

packaging/centos63/cloud-usage.rc

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,31 @@ USER=cloud
4646
unset OPTIONS
4747
[ -r /etc/sysconfig/default/"$SHORTNAME" ] && source /etc/sysconfig/default/"$SHORTNAME"
4848

49-
# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT)
50-
JDK_DIRS="/usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-7-sun /usr/lib/jvm/jre-1.7.0 /usr/lib/j2sdk1.5-sun /usr/lib/jre-openjdk"
49+
setJavaHome() {
50+
# use $JAVA_HOME if defined
51+
if [ -n "$JAVA_HOME" ] ; then
52+
return
53+
fi
54+
55+
# try javac first
56+
java=$(which javac 2>/dev/null || :)
57+
58+
# try java if javac is not found
59+
if [ -z "$java" ] ; then
60+
java=$(which java 2>/dev/null || :)
61+
fi
62+
63+
if [ -n "$java" ] ; then
64+
JAVA_HOME=$(dirname $(dirname $(readlink -e $java)))
65+
export JAVA_HOME
66+
return
67+
fi
68+
69+
# didnt find java home. exiting with error
70+
exit 1
71+
}
5172

52-
for jdir in $JDK_DIRS; do
53-
if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
54-
JAVA_HOME="$jdir"
55-
fi
56-
done
57-
export JAVA_HOME
73+
setJavaHome
5874

5975
SCP=""
6076
DCP=""

packaging/debian/init/cloud-usage

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,31 @@ DAEMON="/usr/bin/jsvc"
4242
unset OPTIONS
4343
[ -r /etc/default/"$SHORTNAME" ] && source /etc/default/"$SHORTNAME"
4444

45-
# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT)
46-
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"
45+
setJavaHome() {
46+
# use $JAVA_HOME if defined
47+
if [ -n "$JAVA_HOME" ] ; then
48+
return
49+
fi
50+
51+
# try javac first
52+
java=$(which javac 2>/dev/null || :)
53+
54+
# try java if javac is not found
55+
if [ -z "$java" ] ; then
56+
java=$(which java 2>/dev/null || :)
57+
fi
58+
59+
if [ -n "$java" ] ; then
60+
JAVA_HOME=$(dirname $(dirname $(readlink -e $java)))
61+
export JAVA_HOME
62+
return
63+
fi
64+
65+
# didnt find java home. exiting with error
66+
exit 1
67+
}
4768

48-
for jdir in $JDK_DIRS; do
49-
if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
50-
JAVA_HOME="$jdir"
51-
fi
52-
done
53-
export JAVA_HOME
69+
setJavaHome
5470

5571
UCP=`ls /usr/share/cloudstack-usage/lib/*.jar | tr '\n' ':' | sed s'/.$//'`
5672
PCP=`ls /usr/share/cloudstack-usage/plugins/*.jar 2>/dev/null | tr '\n' ':' | sed s'/.$//'`

0 commit comments

Comments
 (0)