1 |
On Fri, Nov 17, 2017 at 12:30 AM, William L. Thomson Jr. |
2 |
<wlt-ml@××××××.com> wrote: |
3 |
> On Thu, 16 Nov 2017 23:38:09 -0600 |
4 |
> R0b0t1 <r030t1@×××××.com> wrote: |
5 |
>> |
6 |
>> Hopefully this is not a tangent, but the OpenJDK release is available |
7 |
>> on Ubuntu. I have tried to understand the IcedTea build process and |
8 |
>> failed, as I was hoping that it could be packaged for Gentoo before |
9 |
>> the official IcedTea release. I was not able to find a timeline from |
10 |
>> the OpenJDK project. |
11 |
> |
12 |
> Gentoo is a from source distro not binary. It will be some time before |
13 |
> icedtea, some version support slot 9 will be available. There is no eta |
14 |
> for icedtea. That comes from directly from RedHat. The person who |
15 |
> makes it for the world does so on Gentoo, for RedHat their employer. |
16 |
> |
17 |
|
18 |
I am confused. I was aware that IcedTea was a build system, but I am |
19 |
not aware as to how Ubuntu packaged OpenJDK 9. |
20 |
|
21 |
In the context of Gentoo I meant "packaged" as in "created an ebuild |
22 |
for," which is not proper language. |
23 |
|
24 |
> I tried for years to get others to make a path for them to be able to |
25 |
> become a dev and work in tree. Rather that work goes into java-overlay |
26 |
> and is proxied to tree by Chewi/James. |
27 |
> https://github.com/gentoo/java-overlay/tree/master/dev-java/icedtea |
28 |
> |
29 |
|
30 |
Though I am not a developer, this concerns me in other areas too. Many |
31 |
developers do not produce extremely high quality code, but this |
32 |
concern is cited as exactly the reason for keeping developership |
33 |
exclusive. Projects I feel I should mention include genkernel and |
34 |
crossdev. I had to temporarily give up my personal interests that |
35 |
relied on them and have since begun rewriting them. In the small bit I |
36 |
have done understanding crossdev, it has become apparent to me that |
37 |
the authors did not reference the GCC build system documentation very |
38 |
well. Of course, it may be the case that no one refers to it. |
39 |
|
40 |
>> You focus on Oracle's Java? |
41 |
> |
42 |
> Yes, in brief, as the other will always lag. I would be some what |
43 |
> interested in a actual OpenJDK package. That could build with either |
44 |
> oracle or icedtea. Usually for production and business purposes people |
45 |
> want to run Oracle. I do not know many who run icedtea/openjdk. Though |
46 |
> I am sure they are out there. Definitely RedHat customers. |
47 |
> |
48 |
|
49 |
I expect the releases to lag, which is why I had been using Oracle's |
50 |
JDK. Can you explain why there is an IcedTea ebuild but not an OpenJDK |
51 |
ebuild? |
52 |
|
53 |
> Also icedtea on Gentoo does not have OpenJavaFX. I am not |
54 |
> sure any distro has OpenJavaFX packaged. I am not aware of any ebuilds |
55 |
> ever for that. Probably be me someday if I ever have interest. Which |
56 |
> can bind many to oracle for JavaFX. Which includes myself. |
57 |
> |
58 |
|
59 |
OpenJDK now contains an implementation of JavaFX. Debian and Ubuntu |
60 |
have it packaged. For general instructions, see the following: |
61 |
|
62 |
http://openjdk.java.net/projects/openjfx/ |
63 |
https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX |
64 |
|
65 |
Packages: |
66 |
|
67 |
https://tracker.debian.org/pkg/openjfx |
68 |
https://packages.ubuntu.com/xenial/openjfx |
69 |
|
70 |
I have recently been interested in JavaFX. It is far more user |
71 |
friendly. Many open source applications still target Swing however, to |
72 |
be compatible with old OpenJDK releases. |
73 |
|
74 |
> Icedtea really is not a jdk but a build system. On Gentoo only it |
75 |
> becomes the name of the JDK/JRE. It really is just OpenJDK built |
76 |
> without Oracle. Ideally there is oracle, openjdk, and icedtea ebuilds. |
77 |
> You then build openjdk with oracle or icedtea via USE flag. |
78 |
> |
79 |
> Icedtea will always lag from Oracle. There will always be oracle |
80 |
> binaries before others. Yes you can build the source against it, but no |
81 |
> one is working on that. Again Gentoo has what it does because of |
82 |
> RedHat. Really for RedHats own interest, not Gentoo. Gentoo just |
83 |
> benefits. |
84 |
> |
85 |
> It would likely be a considerable effort to have a openjdk that can |
86 |
> build via oracle or icedtea/openjdk binaries. I think exherbo managed |
87 |
> that, I am not sure. |
88 |
> |
89 |
|
90 |
My response to this is the same as above: Can you explain why the |
91 |
Gentoo build system is the way it is? If you have any suggestions as |
92 |
to what I should look at to better understand the OpenJDK build system |
93 |
I would very much appreciate them. |
94 |
|
95 |
> The lagging may get worse as JDK release is scheduled to speed up |
96 |
> considerably come March. Say hello to Java 18.3.... |
97 |
> https://mreinhold.org/blog/forward-faster |
98 |
> |
99 |
>> The Oracle binaries seem to work well for me and I have experienced no |
100 |
>> issues. Notably, Scala works transparently on the Oracle JDK 9. What |
101 |
>> kind of issues are you seeing? The biggest issue I have had is that |
102 |
>> some version tests do not parse "9" the same way as "1.8.0_152". |
103 |
> |
104 |
> There are tons of build issues for Java packages in tree. From not |
105 |
> supporting < 1.6 source/target, The whole modules system. Changes with |
106 |
> class visibility and deprecation of sun.* classes. No tools.jar. Odd |
107 |
> build issues where some packages build fine under 1.8, but generate |
108 |
> errors under 9 that require code fixes. |
109 |
> |
110 |
> A slew of issues that Gentoo already lacks man power to keep some stuff |
111 |
> current. The amount of work is pretty tremendous on top of the state of |
112 |
> the tree. |
113 |
> |
114 |
> Out of some 160 packages I had installed, 48 failed, with some 600+ to |
115 |
> test still. There were more failures before some fixes. I am still |
116 |
> working on fixing those and there are likely a considerable amount |
117 |
> more. |
118 |
> |
119 |
> My overlay is already ahead of the tree in many ways. The tree has to |
120 |
> play additional catchup. The tree itself without my overlay may have may |
121 |
> more issues. I do not know. I am working on replacing all packages in |
122 |
> tree, not running them. I need them kept current. |
123 |
> |
124 |
|
125 |
Do you have any recommendations for development policy? |
126 |
|
127 |
At a certain point, would it make sense to drop old packages and not |
128 |
bother to update them? I understand this is counter to what usually |
129 |
happens, but if it would help crystalize a better Java release process |
130 |
before the more frequent releases it may be worth it. |
131 |
|
132 |
>> Adding Java 9 to the tree would help users who are interested |
133 |
>> experiment with the language. |
134 |
> |
135 |
> The JDK/JRE could go into tree masked for anyone who wants to unmask. I |
136 |
> have been pushing for that for some time, but will only happen when |
137 |
> Chewi/James has time. |
138 |
> |
139 |
|
140 |
This seems to have helped with the stabilization of Python 3.5, and |
141 |
Python 3.6 looks like it will go the same direction. Hopefully this |
142 |
will occur for Java 9. |
143 |
|
144 |
> JRE is safer than JDK. There will be issues with JDK if set to system |
145 |
> VM and used to build Java packages on Gentoo. The mask should warn |
146 |
> about such, etc. |
147 |
> |
148 |
>> As part of the first work on Python 3.5 |
149 |
>> (very minor) I installed it on my system but did not add it to |
150 |
>> PYTHON_TARGETS. Is there an equivalent for Java? |
151 |
> |
152 |
> Heck no, Java is not in my opinion an pain like Ruby and Python. Perl |
153 |
> is not either. In fact if I get time to re-write eclasses. I plan to |
154 |
> move the versions from in ebuilds to eclass. Making 1 place to update |
155 |
> source/target/release of a java package. |
156 |
> |
157 |
> Right now Java is controlled via depends. The DEPEND version sets the |
158 |
> -source, and RDEPEND the -target version. Java 9 has a new -release. |
159 |
> The source/target has long time issue on Gentoo. To trigger you build |
160 |
> with newer and run with older. |
161 |
> https://wiki.gentoo.org/wiki/Java_Developer_Guide#Bootstrap_class_path |
162 |
> |
163 |
|
164 |
If I understand correctly, it is possible to install the JDK but not |
165 |
set it to system VM? It is not clear to me why other languages need |
166 |
more Portage machinery to handle coinstallation of different versions. |
167 |
|
168 |
Cheers, |
169 |
R0b0t1 |