JDK-5066525 : Java Control Panel desktop file needs to be fixed (for Cinnabar)
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version:
    metropolis_12,solaris_10,cinnabar,cinnabar_14,cinnabar_19,5.0u1,5.0u2 metropolis_12,solaris_10,cinnabar,cinnabar_14,cinnabar_19,5.0u1,5.0u2
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS:
    linux,linux_suse_slec,solaris_8,solaris_9,solaris_10 linux,linux_suse_slec,solaris_8,solaris_9,solaris_10
  • CPU: generic,x86,sparc
  • Submitted: 2004-06-22
  • Updated: 2004-11-12
  • Resolved: 2004-11-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other JDK 6
5.0u1 b05Fixed 6Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Description
I'm running Metropolis build12.

There are actually 2 issues to this bug.

Bug #1
======
Currently the .desktop file for Java Control Panel is installed to the wrong location. 


According to the Metropolis UI spec the following menu option should exist:

Launch->Preferences->Desktop Preferences->Java

which should launch the Java Control Panel. But because the .desktop file (sun_java.desktop) is installed to "/usr/java/jre/plugin/desktop" gnome-vfs does not pick this file up and no menu entry is created in gnome-panel.

The sun_java.desktop file should be installed to "/<%install_prefix>/share/control-center-2.0/capplets". 

Bug #2
======
The "Exec" and the "Icon" paths for the sun_java.desktop file will need to be changed - currently they are set to:

Exec: INSTALL_DIR/JRE_NAME_VERSION/bin/ControlPanel
Icon: INSTALL_DIR/JRE_NAME_VERSION/plugin/desktop/sun_java.png

They should be set to  (for Metropolis/Solaris)

Exec: ControlPanel
Icon: sun_java.png

Note: currently the %install_prefix is /opt/jds but this is to change to /usr going forward from Metropolis_13
###@###.### 10/19/04 09:31 GMT

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: 1.5.0_01 mustang FIXED IN: 1.5.0_01 mustang INTEGRATED IN: 1.5.0_01 mustang
01-10-2004

WORK AROUND Run java Control Panel from the command line. ###@###.### 2004-07-26 This is indeed something which should be done by the JVM installer, but the release required by Metropolis (1.4.2_05) is closed (and posted). The earliest this could be addressed is 1.5.0_01 (and possibly 1.4.2_06). Therefore, the Metropolis install should be able to deal with a JVM which hasn't properly installed this file while at the same time, not stepping on a JVM which knows how to install this file. Fortunately, I don't believe this is rocket science. In Metropolis installation: DFILE="$BASEDIR/control-center-2.0/capplets/sun_java.desktop" if [ ! -f "$DFILE" ]; then echo "[Desktop Entry]" > "$DFILE" echo "Name=Java" >> "$DFILE" echo "Comment=Java Control Panel" >> "$DFILE" echo "Exec=/usr/java/bin/ControlPanel" >> "$DFILE" echo "Icon=/usr/java/jre/plugin/desktop/sun_java.png" >> "$DFILE" echo "Terminal=0" >> "$DFILE" echo "Type=Application" >> "$DFILE" echo "Categories=Application;Settings;X-Sun-Supported;X-Red-Hat-Base; >> "$DFILE" fi This is straight forward, because unlike Linux, Solaris has the concept of a default JRE and we can simply point at it. The worse that can happen is this file will point to a non-existant JRE, but a Solaris 9 system without a JRE is already very crippled (and very rare). Note that $BASEDIR may not be the $BASEDIR in your scripts. The value here should be /opt/jds/share or /usr/share as appropriate. When the Solaris JVM installation supports the installation of this file, the installation of a default jvm should simply perform an unconditional write of the file. Question: Should "X-Red-Hat-Base;" be removed on Solaris? I don't know, but it certainly sounds suspicious. ----- The creation of sun_java.desktop during install time was implemented for Metropolis b15 (FCS). Bug will remain open so that fix is implemented at source. ###@###.### 2004-07-30
30-07-2004

EVALUATION I will reassign this bug to Rita, who is the code owner of control panel in Java Deployment team. ###@###.### 2004-06-22 ###@###.### 2004-07-13 could someone please look at this 'P1' bug - it has not been updated since the 23rd of June............................ Thank you ###@###.### 2004-07-20 Pasting e-mail comment from Joseph Kowalski on 2004-07-13: There are a number of questions outstanding to the Mercury team which is why this bug is stalled. Most important of those questions is how does Metropolis have a hard dependency (on Solaris) on a specific version of the JRE? Unlike Linux, Solaris has the concept of a system default which may not be the JRE you would optimally prefer. Specifically, the question was "Does Metropolis conform to the JVM installation guidelines in LSARC/2002/172, and if not, where is the review/approval for the deviation?" Earlier mail suggested that Thorston was expected to respond to this but I've heard nothing. - jek3 ###@###.### 2004-07-20 Marking cinnabar-stopper as this bug results in an item from the UI spec not being included. ###@###.### 2004-07-20 Joseph - can you elaborate on exactly what you think JDS should be doing to resolve this specific problem? Currently, we just pkgadd the SUNWj[35]* packages. Should we be modifying the panel configuration to search for desktop files in /usr/java/jre/plugin/desktop (which is linked to /usr/jdk/instances/jdk1.5.0/jre/plugin/desktop)? And what about the variables/tags used in the .desktop file: Exec=INSTALL_DIR/JRE_NAME_VERSION/bin/ControlPanel Icon=INSTALL_DIR/JRE_NAME_VERSION/plugin/desktop/sun_java.png How are these supposed to get resolved into proper paths? ###@###.### 2004-07-26 An unconditional install of this file should be done with "INSTALL_DIR/JRE_NAME_VERSION" being replaced with the path to the appropriate components in the default JRE (/usr/java/jre) when a jvm is installed as the default. I guess we will have to check for installation in two places (/opt/share and /opt/jds/share) due to the indecision about where Metropolis installs. Perhaps by the time this delivers (1.5.0_01 at the earliest), this indecision can be ignored and only /usr/share updated (actually, with the proposed workaround, this sounds like a generally good idea). ================================================================================= Currently in Cinnabar Solaris there is no menu entry for Java Control Panel and in Cinnabar Linux the menu entry is listed as "Java". These 2 issues need to be fixed. #1 Missing Java Control Panel menu entry in Cinnabar Soplaris. ============================================================== The following menu entry should be present "Launch-Preferences-Desktop Preferences-Java Control Panel". Java Control Panel does get installed into /usr/j2se/jre/bin but the desktop file does not exist - there is no sun_java.desktop file. Note that on Linux this is installed to /usr/share/control-center-2.0/capplets/ - A desktop file should be installed to create the menu entries #2 Incorrect Java Control Panel menu entry on Linux =================================================== On Linux the menu entry "Launch-Preferences-Desktop Preferences-Java" should be called "Launch-Preferences-Desktop Preferences-Java Control Panel" - desktop file needs to be modified to reflect the UI spec. ###@###.### 2004-08-31 ============================================================================ I don't think this is fixed in 1.5.0_01 - Cinnabar build 20 installs 1.5.0_01 and the desktop file for Java (control panel) is still getting installed to /usr/jdk/jdk1.5.0_01/jre/plugin/desktop and the Exec path and Icon path still include INSTALL_DIR/JRE_NAME_VERSION which is incorrect. I know there was talk of getting this into 1.5.0_01 but from what I can see the bug is still there. I'm removing the 1.5.0_01 fixed and integrated tags pending further update/confirmation from Joe :) ###@###.### 10/11/04 08:29 GMT ============================================================================== FYI, Rania (murong) indicates in bug 6176727 (marked as a dup of this bug) that there is a menu entry present in build 20 but that the Exec path for the desktop file is incorrect as INSTALL_DIR/JRE_NAME_VERSION gets translated as /a/usr/java/jre/bin/ControlPanel. ###@###.### 10/11/04 10:00 GMT ================================================================================ Looking at the J2SE 5.0 schedule at: http://javaweb.sfbay/j2se/updates/J2SE_1.5.0_01.html it appears b03 was available on 09/29 - is this correct? But looking at the comments in the P1 bug logged by Rania (see comments above) indicates that this bug fix fails in 1.5.0_01-b03. Also I can see on my system (s10_69 with Cinanbar 20) that I'm running with 1.5.0_01-ea-b03 also and the fix fails. So how come this bug was marked integrated again (and in b03)? The bug still exists - the Java Control Panel desktop file (/usr/share/control-center-2.0/capplets/sun_java.desktop) has the Exec path "INSTALL_DIR/JRE_NAME_VERSION/..." I'm marking this as fix failed pending further information. ###@###.### 10/13/04 10:12 GMT
13-10-0004