Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 377967

Summary: dev-java/jnlp-bin can't be emerged because it's impossible to download javaws-1_2.zip
Product: Gentoo Linux Reporter: Marek <marun.skor>
Component: [OLD] JavaAssignee: Java team <java>
Status: RESOLVED FIXED    
Severity: major CC: gentoo, mkyral, pawel.tomkiel
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 155933    
Bug Blocks: 379593    

Description Marek 2011-08-06 10:04:07 UTC
Oracle closed sun download pages on 31 july 2011, and doesn't provide downloads for javaws-1_2.zip




Reproducible: Always

Steps to Reproduce:
1. emerge dev-java/jnlp-bin
Actual Results:  
Error showing deprecieted link to javaws-1_2.zip download page

Expected Results:  
dev-java/jnlp-bin has emerged. Is jnlp-bin ebuild needed at all? Web start should be available for >=any java1.4

This bug breaks dev-java/appframework which breaks dev-java/netbeans-java

I have sun-jdk6 installed. After I have removed dependency on jnlp from appframework netbeans7.0.1 emerged
Comment 1 William L. Thomson Jr. 2011-08-13 16:23:15 UTC
This is an old package, pre-1.4 and needs to be masked and removed ASAP. Any deps updated to reflect this has been in the JRE since 1.4.


Java Web Start 1.2 is shipped as part of the Java 2 Platform, Standard Edition 1.4.1 (J2SE 1.4.1). 
http://www.oracle.com/technetwork/java/javase/downloads/archive-download-142935.html
Comment 2 Marian Kyral 2011-08-17 16:17:52 UTC
(In reply to comment #1)
> This is an old package, pre-1.4 and needs to be masked and removed ASAP. Any
> deps updated to reflect this has been in the JRE since 1.4.
> 
> 
> Java Web Start 1.2 is shipped as part of the Java 2 Platform, Standard Edition
> 1.4.1 (J2SE 1.4.1). 
> http://www.oracle.com/technetwork/java/javase/downloads/archive-download-142935.html

Even this is not available :-(

> The J2SE versions listed below have completed the End of Life process and are 
> no longer supported by Sun.
>
>Users should upgrade to current product versions. 

I'm trying to emerge netbeans and it has this dependency. Maybe some USE flag needs to be set (de-set)? But which one?
Comment 3 Miroslav Šulc gentoo-dev 2011-08-17 16:57:41 UTC
no use flag will help you. netbeans depends on appframework which unconditionally depends on jnlp.

there are several problems related to jnlp. afaik, sun-jdk has it bundled in jre/lib/javaws.jar. icedtea has it bundled separately in icedtea-web package in share/icedtea-web/netx.jar. there are other jdks that do not provide jnlp classes at all.

up to that, i think that this jar is not even put on classpath, not even when using sun-jdk.

also, according to my knowledge, there is no unified way to access jnlp jar across at least those jres/jdks that provide it in some way. by access i mean putting the file in unified way on classpath for compilation and runtime.

just to be complete, there is also package app-misc/openjnlp, but it is unmaintained by upstream and it depends on jnlp-bin ... so it's useless.

it seems there are just two packages in the whole official tree that depend on jnlp-bin, one is appframework and the other is openjnlp. in java-overlay, i have sweethome3d ebuild which needs the jnlp issue solved aswell.

imo this needs some system side tweaking to support putting jnlp classes on classpath in a unified way depending on what jre/jdk is being used, but that is outside my knowledge.
Comment 4 Marek 2011-08-17 21:30:28 UTC
@Marian Kyral 

To emerge netbeans I have modified appframework ebuild. 

If you use sun-jdk, then it should be enough to:

1. Read http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1, especially part entitled 1.f. Testing and deploying.

2. Copy from /usr/portage/ dev-java/appframework to your local portage tree.

3. In appframework.ebuild find line COMMON_DEP="dev-java/swingworker dev-java/jnlp-bin" and remove it.

4. Run 
$ ebuild /path/to/your/portage/dev-java/appframework/appframework-1.03.ebuild manifest

Now you can emerge netbeans, at least I was able to do it ;).

It's no good solution, but it makes it at least possible.
Comment 5 Marian Kyral 2011-08-17 21:40:24 UTC
(In reply to comment #4)
> @Marian Kyral 
> 
> To emerge netbeans I have modified appframework ebuild. 
> 
> If you use sun-jdk, then it should be enough to:
> 
> 1. Read
> http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1,
> especially part entitled 1.f. Testing and deploying.
> 
> 2. Copy from /usr/portage/ dev-java/appframework to your local portage tree.
> 
> 3. In appframework.ebuild find line COMMON_DEP="dev-java/swingworker
> dev-java/jnlp-bin" and remove it.
> 
> 4. Run 
> $ ebuild /path/to/your/portage/dev-java/appframework/appframework-1.03.ebuild
> manifest
> 
> Now you can emerge netbeans, at least I was able to do it ;).
> 
> It's no good solution, but it makes it at least possible.

Thanks,
I'll test it tomorrow.
Comment 6 Miroslav Šulc gentoo-dev 2011-08-18 16:37:18 UTC
another "workaround" is to use latest version of netbeans from my repository:

# emerge layman
# layman -a fordfrog
# emerge netbeans:9999

it does not depend on appframework (and so on jnlp-bin) anymore and it is pretty stable, at least i have really seldom issues with these latest versions.
Comment 7 Marian Kyral 2011-08-18 19:17:14 UTC
Thanks, emerged correctly
Comment 8 Petteri Räty (RETIRED) gentoo-dev 2011-08-22 21:35:15 UTC
(In reply to comment #6)
> another "workaround" is to use latest version of netbeans from my repository:
> 

The javax.jnlp files needed for appframework should be available in the dev-java/icedtea-web package. I can't get icedtea built to emerge that but currently but if you can please see if you can migrate appframework to use icedtea-web instead.
Comment 9 Miroslav Šulc gentoo-dev 2011-08-22 22:01:57 UTC
petteri, does that mean that our general approach will be to use icedtea-web for packages that need jnlp no matter what jre/jdk is being used?
Comment 10 Ralph Sennhauser (RETIRED) gentoo-dev 2011-08-30 07:00:32 UTC
Probably a virtual java-virtuals/jnlp should be introduced here-for.
Comment 11 Miroslav Šulc gentoo-dev 2011-09-07 14:08:00 UTC
i tried to update one package that needs jnlp so that it uses netx.jar file from icedtea-web:6 and both compilation and running (after manual modifying of package.env) work fine. the problem is there is no easy way to depend on netx.jar from icedtea-web as the jar file is not registered. according to caster we should perhaps create package dev-java/netx and depend on it. i'd like to know opinion of other gentoo devs so we get a consensus on a solution.
Comment 12 Miroslav Šulc gentoo-dev 2011-09-08 12:02:59 UTC
so i packaged jnlp from icedtea-web as dev-java/netx. there are two packages that depends on jnlp-bin.

one is dev-java/appframework which i fixed in -r1 so it depends on dev-java/netx instead of jnlp-bin.

the other is app-misc/openjnlp. this one is 1.4 source code so i guess this is adept for removal aswell. the only app that depends on it is app-cdr/webcdwriter. i switched that one from app-misc/openjnlp to dev-java/netx. i had to drop ~ppc keyword from webcdwriter as dev-java/netx does not have ppc keyword yet.

so imo after -r1 of appframework gets stabilized, we can remove both jnlp-bin and openjnlp from the tree.
Comment 13 Paul Tomkiel 2011-09-23 08:00:24 UTC
I have a problem emerging appframework in version 1.03-r1 or r2. I receive error "Package jnlp-api was not found" . Is it possible to fix it? I need netbeans to work. When i try to merge it from fordfrog i receive: "emerge: there are no ebuilds to satisfy "dev-java/ws-commons-util:0".
"
Comment 14 Miroslav Šulc gentoo-dev 2011-09-23 09:08:04 UTC
(In reply to comment #13)
> I have a problem emerging appframework in version 1.03-r1 or r2. I receive
> error "Package jnlp-api was not found" . Is it possible to fix it?

that is weird, as jnlp-api is in tree for some time already, and it works for me.

> I need
> netbeans to work. When i try to merge it from fordfrog i receive: "emerge:
> there are no ebuilds to satisfy "dev-java/ws-commons-util:0".
> "

just emerge layman and add java-overlay to your overlays. latest netbeans from my repo uses ws-commons-util from that overlay.
Comment 15 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2011-09-23 09:36:09 UTC
(In reply to comment #13)
> I have a problem emerging appframework in version 1.03-r1 or r2. I receive
> error "Package jnlp-api was not found" . Is it possible to fix it? I need
> netbeans to work. When i try to merge it from fordfrog i receive: "emerge:
> there are no ebuilds to satisfy "dev-java/ws-commons-util:0".

Some weird overlay overriding the java eclasses maybe?
Comment 16 Paul Tomkiel 2011-09-23 22:31:48 UTC
Ok, i've managed to emerge netbeans by manualy merging jnlp-api, then appframework-1.03-r2 and then netbeans, all from gentoo tree. Everything works now, thanks for your help.
Comment 17 Miroslav Šulc gentoo-dev 2011-10-19 13:30:58 UTC
masked for removal. replaced by dev-java/jnlp-api