1 |
Daniel wrote: |
2 |
> Hi, |
3 |
> the installation of Java on Gentoo is the hell on earth! |
4 |
> |
5 |
I'm sure lots of people would disagree. In fact, I do hear fairly often |
6 |
that our support of Java very good. |
7 |
> - the installation is non transparent |
8 |
> |
9 |
Care to elaborate? If you emerge java packages, things should just work, |
10 |
ie the appropriate JDK will be pulled for building. |
11 |
> - the java-"help"-utils (java-config, java-config-wrapper) are not acceptable, |
12 |
> because you don't really need them |
13 |
> |
14 |
How are they not acceptable? They are absolutely necessary actually, as |
15 |
they are used for configuring and building Java on Gentoo |
16 |
> - the whole solution of installing more than one jdk is bumptious - so not |
17 |
> easy |
18 |
> handable |
19 |
> |
20 |
I... really don't get what you saying. According to the handy |
21 |
dictionary.reference.com site, bumptious means 'Crudely or loudly |
22 |
assertive; pushy.' I don't really how supporting multiple JDKs is pushy |
23 |
or supportive. It just offers a lot more flexibility. In particular, it |
24 |
gives a lot of power when it come time for a new Java release, such that |
25 |
we can use the stable and widely used version, while all the issues with |
26 |
various packages are being worked out with the new version. |
27 |
> This meens that it takes long time to install java and that you need to do |
28 |
> some |
29 |
> terrible thinks (e.g. unmasking some packages ... see |
30 |
> http://www.gentoo.org/proj/en/java/java-upgrade.xml). |
31 |
> |
32 |
Terrible thinks? It is a new system for handling Java.... so of course |
33 |
it needs to be in testing keywords. Or perhaps would you prefer it were |
34 |
marked stable and then have all sorts of fun breakages for our stable |
35 |
packages? No one forces you to unmask anything. Most times people using |
36 |
stable keywords run into the new Java system because they decided to |
37 |
package.unmask Java 1.5. (And please note, there is a difference between |
38 |
using testing keywords, ie ~x86, and using stuff in package.mask... the |
39 |
latter are known to cause problems or are undergoing heavy testing) |
40 |
> This is not the way gentoo should go because this is to heavy for the user |
41 |
> (that mostly just wants to install a jdk :) )! |
42 |
> |
43 |
If you don't have anything Java related installed, you can just emerge |
44 |
the JDK. If you do have Java stuff installed, chances are you already |
45 |
have one installed, and nothing is stopping you from emerging a |
46 |
different one. |
47 |
> So I have collected some points _we_ should think about: |
48 |
> - why is jdk-1.5 still under development? |
49 |
> |
50 |
http://www.gentoo.org/proj/en/java/tiger-faq.xml should spell out some |
51 |
of it. And I'm not sure what you mean by under development. I presume |
52 |
you mean testing keywords? If so, this is standard policy, because it |
53 |
1.5 has only recently come out of package.mask. |
54 |
> - is it really necessary to install an jdk-1.4 and jdk-1.5? - if yes, why you |
55 |
> don't need to install jdk-1.3? |
56 |
> |
57 |
Yes, it REALLY is necessary. First off, some packages are known to break |
58 |
with Java 1.5. These will eventually can be patched. Second, every |
59 |
package not using the new Java system needs to be built with Java 1.4 to |
60 |
avoid the problems mentioned in the FAQ. It isn't necessary to install |
61 |
1.3 because apparently, everything works with Java 1.4 that worked with |
62 |
Java 1.3. |
63 |
> - gentoo should never make a difference between jdk 1.4 and 1.5 |
64 |
> |
65 |
Um... no. There does need to be a difference. I'm going to assume that |
66 |
you just aren't familar enough with the differences between the two. |
67 |
Just a few points: |
68 |
|
69 |
* There is a different version of bytecode between major revisions of |
70 |
JDKs, ie from 1.3 to 1.4, 1.4 to 1.5. Bytecode is forward compatible (ie |
71 |
use 1.4 bytecode in 1.5 JRE), but not backward compatible. |
72 |
* There is a new keyword, enum. Therefore, code using enum as a variable |
73 |
code fails to compile |
74 |
* Java 1.5 has new APIs for XML at least. It introduces new abstract |
75 |
methods on some abstract classes and interfaces. The result is that when |
76 |
classes fail to compile which use these abstract classes and interfaces, |
77 |
and haven't specifically update to support the new API |
78 |
> - java-config should just generate some environment files to set a special vm |
79 |
> |
80 |
What's a special VM? |
81 |
> - if an ebuild requires a special vm (why ever, because the api of the jdk is |
82 |
> compatible in most points) it should gnerate a warning, that the vm should be |
83 |
> set to 1.x |
84 |
> |
85 |
See my previous points about compatibility. |
86 |
> - it is the problem of the user if there are two java applications which need |
87 |
> different vms (this problem is much easier to solve than installing java ;)). |
88 |
> |
89 |
> |
90 |
The new Java system actually handles this. We basically create |
91 |
'launchers' for this, which read information about the packages it |
92 |
needs, and figures out if it can run in the current VM. If it doesn't, |
93 |
it will switch to one. |
94 |
> I hope you will not understand this bug as an act of aggression - it should |
95 |
> just help Gentoo. |
96 |
> |
97 |
I hope you understand that it is easy to misunderstand comments to the |
98 |
effect of 'Java on Gentoo being hell on earth' as being aggressive. |
99 |
|
100 |
-- |
101 |
Joshua Nichols |
102 |
Gentoo/Java - Project Lead |
103 |
|
104 |
-- |
105 |
gentoo-java@g.o mailing list |