[java-sig-commits] [javapackages] Rewrite _set_java_home() to support multiple prefixes
Mikolaj Izdebski
mizdebsk at fedoraproject.org
Tue Sep 17 07:44:49 UTC 2013
commit bad43f83ad2369ffaa60d19e46c5af25545fbc0a
Author: Mikolaj Izdebski <mizdebsk at redhat.com>
Date: Tue Sep 17 07:49:37 2013 +0200
Rewrite _set_java_home() to support multiple prefixes
java-utils/java-functions | 40 ++++++++++++++++++++++++++++------------
1 files changed, 28 insertions(+), 12 deletions(-)
---
diff --git a/java-utils/java-functions b/java-utils/java-functions
index 22180f9..118a8be 100644
--- a/java-utils/java-functions
+++ b/java-utils/java-functions
@@ -60,20 +60,36 @@ _load_java_conf()
# Test default JRE/JVM roots if nothing is defined yet
-_set_java_home() {
- if [ -z "$JAVA_HOME" ] ; then
- local _java_dirs="java"
- case "$_prefer_jre" in
- 1|[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]) _java_dirs="jre $_java_dirs" ;;
- *) _java_dirs="$_java_dirs jre" ;;
+_set_java_home()
+{
+ local IFS=:
+ local jvmdir
+ local subdir
+ local subdirs
+
+ if [ -n "${JAVA_HOME}" ]; then
+ return
+ fi
+
+ case "${_prefer_jre}" in
+ 1|[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee])
+ subdirs=jre:java
+ ;;
+ *)
+ subdirs=java:jre
+ ;;
esac
- for d in $_java_dirs ; do
- if [ -d "$JVM_ROOT/$d" ] ; then
- JAVA_HOME="$JVM_ROOT/$d"
- break
- fi
+
+ for subdir in $subdirs; do
+ for jvmdir in $_jvmdirs; do
+ JAVA_HOME="${jvmdir}/${subdir}"
+ if [ -d "${JAVA_HOME}" ]; then
+ return
+ fi
+ done
done
- fi
+
+ unset JAVA_HOME
}
# Set the java virtual machine
More information about the java-sig-commits
mailing list