[icedtea-web] RFC: add javaws and itweb-settings to jre/bin as well

Omair Majid omajid at redhat.com
Mon Dec 13 13:55:33 PST 2010

Hi Andrew,

On 12/13/2010 04:23 PM, Dr Andrew John Hughes wrote:
> On 15:55 Mon 13 Dec     , Omair Majid wrote:
>> Hi,
>> IcedTea-Web does not add either the javaws or itweb-settings binary to
>> jre/bin. The attached patch addresses that by creating symlinks under
>> jre/bin/ to the actual javaws and itweb-settings binaries.
> Until I read this, I wasn't even aware there was a jre/bin.  I looked
> under bin, saw the files and wondered what you were on about.
> One problem I see is you are assuming jre/bin exists (i.e. that the
> prefix being used is a jdk install).  This may not be the case.
> You should probably only create these symlinks if jre/bin exists in
> prefix.

The attached patch first creates $(DESTDIR)$(prefix)/jre/bin before 
creating the symlinks.

One thing that I did notice is that 'make install' will install over 
existing files but adding ln -s makes this fail. Should I guard ln -s 
with a check to ensure that the symlink does not exist? Should I rm the 
symlink location first? Or is there a better thing to do in such cases?

>> I would like to fix this in HEAD as well as 1.0, as it makes Netx fail
>> when it tries to launch a new javaws instance, which some jnlp
>> applications require. This problem can be worked around by using
>> -Xnofork as a command line argument.
>> I have tested this out, and that patch fixes the problems that I have
>> run into. On the other hand, before the IcedTea-Web split, javaws used
>> to be separate binary in jre/bin rather than a symlink. Is there a
>> reason creating a separate binary (instead of symlinking) would be better?
> Are you sure these aren't hard links?
> If not, maybe that would be the better option, though it assumes bin and
> jre/bin are on the same disk.

I dont think these are hardlinks. From a recent icedtea6 build, I see:

[omajid at localhost j2sdk-image]$ pwd
[omajid at localhost j2sdk-image]$ ./bin/java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.10pre+r6bc8c41e508f) (Fedora 
build 1.6.0_20-b20)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
[omajid at localhost j2sdk-image]$ find -iname java | xargs ls -li
7865750 -rwxrwxr-x. 1 omajid omajid 150563 Dec 13 14:43 ./bin/java
7865711 -rwxrwxr-x. 1 omajid omajid 150563 Dec 13 14:43 ./jre/bin/java

These really seem to be identical but duplicate files.

>> On a separate note, should we not create symlinks named jcontrol and
>> ControlPanel (under jre/bin) that link to itweb-settings?
> Why would you want these?  ControlPanel especially is very ugly.  We
> already agreed on the name being itweb-settings.

Yeah, and I dont have a problem with that. I was just thinking about 
compatibility (just like this jre/bin/javaws thing that tripped me up). 
The proprietary JDK, for example, symlinks ControlPanel to jcontrol.

> You may also want to fix the installation of plugin.jar in the same
> patch.  It's being installed using INSTALL_PROGRAM rather than
> INSTALL_DATA and is thus executable.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: add-binaries-to-jre-bin-02.patch
Type: text/x-patch
Size: 1762 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20101213/4b067e44/add-binaries-to-jre-bin-02.patch 

More information about the distro-pkg-dev mailing list