JDK-5063669 : RPM uninstall of Tiger builds before b50 removes GNOME associations.
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 5.0
  • Priority: P3
  • Status: Closed
  • Resolution: Not an Issue
  • OS: linux
  • CPU: generic
  • Submitted: 2004-06-15
  • Updated: 2004-06-18
  • Resolved: 2004-06-18
Related Reports
Relates :  
Relates :  
Relates :  
When uninstalling the Tiger JRE/JDK RPM on Linux from builds prior to b50 (i.e. the directory name change), the GNOME association files can be removed even if a post b50 Tiger build is still installed.

This happens when there are only b49- and b50+ RPM builds installed.  If there is also a 1.4.2 RPM installed when the b49- build is removed, then this does not occur.

What happens is that when the RPM uninstall is run (ex.: rpm -e j2re), a check is made to determine if there are any remaining supported JRE/JDK installs.  Prior to b50, this test checks for supported installs by looking in /usr/java for directories with the patterns j2re<version> and/or j2sdk<version>, and accepting version 1.4.2 or higher.  This check does not recognize the new directory name patterns of jre<version> and jdk<version>, so when these older RPM installations are removed, they incorrectly remove the GNOME association files.

The GNOME association files are:


If GNOMEDIR is not set, it defaults to /usr.

WORK AROUND If these files are missing, the user will be unable to run a JAR or JNLP file by double-clicking the file's icon in Linux. It may also affect the browser's ability to launch files of these types. (Note: this should not affect Netscape/Mozilla browsers, which use a separate association method.) The files can be restored by removing, and then re-installing the RPM.

SUGGESTED FIX Add a release note informing users that the best practice is to remove any previous Tiger beta/non-FCS builds prior to installing a newer Tiger build. A user can check for the presence of a Tiger build that uses the old directory names by running the following command (this command does not require root privileges): rpm -q j2re-1.5.0 j2sdk-1.5.0 If there are no Tiger builds prior to b50 installed, this command will output the following: package j2re-1.5.0 is not installed package j2sdk-1.5.0 is not installed If an older package is installed, the output will display the full RPM release name. For example, j2re-1.5.0-beta This information can then be used to remove the package. (Removing the package requires root privileges.) For example, rpm -e j2re-1.5.0-beta

EVALUATION This bug will be resolved by adding a Release Note to Tiger. Closing as 'not-a-but' ... in the codebase. ###@###.### 2004-06-18