** Description changed:

+ [Impact] 
+ java-wrappers failed to find java runtime installed in /opt, which caused all 
java-based program failed to launch, if the user installed java runtime from 
Oracle.
+ 
+ apt-cache rdepends java-wrappers
+ java-wrappers
+ Reverse Depends:
+   freemind
+   worldwind
+   jajuk
+   weka
+   umlet
+   sweethome3d
+   statsvn
+   statcvs
+   sqlline
+   pdfsam
+   opticalraytracer
+   latexdraw
+   jxplorer
+   jsymphonic
+   jmeter
+   jftp
+   jeuclid-mathviewer
+   jeuclid-cli
+   jedit
+   jardiff
+   jalview
+   jabref
+   hdfview
+   freeplane
+   freemind
+   freecol
+   elki
+   electric
+   checkstyle
+   bnd
+   basex
+   azureus
+   yui-compressor
+   libfop-java
+   libbatik-java
+ 
+ [Test Case]
+ 
  UBUNTU RELEASE (cat /etc/lsb-release)
  DISTRIB_ID=Ubuntu
  DISTRIB_RELEASE=12.04
  DISTRIB_CODENAME=precise
  DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"
  
  PACKAGES
  ii  freemind       0.9.0+dfsg-1   Java Program for creating and viewing 
Mindmaps
  ii  java-wrappers  0.1.24         wrappers for java executables
  
- 
- When  /etc/alternatives/java points to java runtime installed in /opt 
(example may be /opt/ibm-java-i386-60/bin/java), then in 
/usr/lib/java-wrappers/jvm-list.sh emply value is assigned to __jvm_alt in 
following assignment:
+ When  /etc/alternatives/java points to java runtime installed in /opt
+ (example may be /opt/ibm-java-i386-60/bin/java), then in /usr/lib/java-
+ wrappers/jvm-list.sh emply value is assigned to __jvm_alt in following
+ assignment:
  
  __jvm_alt=$(readlink /etc/alternatives/java|sed -n
  's/\(\/usr\/lib\/jvm\/[^\/]*\)\/.*/\1/p')
  
  Reason is that bacause sed expression did not match path in /opt/..., no
  substitution is made, and such sed statement prints pattern space only
  if substitution is made.
  
  Therefore in /usr/lib/java-wrappers/java-wrappers.sh fgrep in following code 
always succeeds and JAVA_HOME is set to empty:
-       if echo "$DIRS" | fgrep "$__jvm_alt" > /dev/null ; then
-           JAVA_HOME="$__jvm_alt"
-           java_debug "Picking up the JVM designated by the alternatives 
system: "
-           java_debug "  JAVA_HOME = '$JAVA_HOME'"
-       else
+  if echo "$DIRS" | fgrep "$__jvm_alt" > /dev/null ; then
+      JAVA_HOME="$__jvm_alt"
+      java_debug "Picking up the JVM designated by the alternatives system: "
+      java_debug "  JAVA_HOME = '$JAVA_HOME'"
+  else
  
-         # And pick up the first one that works reasonably
-           for dir in $DIRS; do
-               if [ -x $dir/bin/java ]; then
-                   JAVA_HOME=$dir
-                   break;
-               fi
-           done
-       fi
+         # And pick up the first one that works reasonably
+      for dir in $DIRS; do
+   if [ -x $dir/bin/java ]; then
+       JAVA_HOME=$dir
+       break;
+   fi
+      done
+  fi
  
  This eventually leads to this abnormal exit:
-     if [ "$JAVA_HOME" ] ; then
-       # ... omitted ...
-     else
-       java_warning "No java runtime was found"
-       return 1;
-     fi
+     if [ "$JAVA_HOME" ] ; then
+  # ... omitted ...
+     else
+  java_warning "No java runtime was found"
+  return 1;
+     fi
  
  Hence other packages that use java-wrappers, e.g. freemind, experience
  other failures because java-wrappers failure. In example of freemind, it
  will not start at all.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1025914

Title:
  java-wrappers fails ito find java runtimes installed in /opt

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/java-wrappers/+bug/1025914/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to