1 |
Hi David |
2 |
|
3 |
> The jdk-distros project is meant to be a staging ground for some of the |
4 |
> linux-specific bits and documentation. However it's focused entirely on |
5 |
> installers, and not the JDK code itself. The jdk-distros project uses |
6 |
> the BSD license to facilitate even more fluid code sharing. |
7 |
> |
8 |
> You are probably talking about source changes, not installer changes..? |
9 |
|
10 |
Yes, I am referring to inevitable patches required to get the JDK built |
11 |
from source code, since that is what we want to do as soon as we can get |
12 |
around to it -- build the JDK from source code instead of using the |
13 |
Sun-provided DLJ binaries (of course, first all of the JDK must be |
14 |
there, c.f. the encumbered parts of the library). |
15 |
|
16 |
In the past, we had a from-source ebuild for the JDK, but given the |
17 |
(old!) licensing conditions, none of the current Gentoo Java developers |
18 |
wanted to become contaminated by looking at the JDK source (this is now |
19 |
a thing of the past! waaaay!). In our from-source ebuild, we did various |
20 |
patching (I don't know the specifics) of the JDK source to get it built |
21 |
on Gentoo. |
22 |
|
23 |
Similarly, for Eclipse, we've had to do all kind of strange code |
24 |
acrobatics to get it compiling even remotely properly on Linux. Over the |
25 |
years, Eclipse has been able to use the Motif and Gtk+ windowing |
26 |
toolkits, the GNOME and KDE VFS, the Mozilla embedded browser component |
27 |
(libgtkembedmoz), and it has been rather picky about which Java |
28 |
compilers and JDKs it will build with. Since Eclipse doesn't use |
29 |
autoconf and friends, and some of the build paths have even been |
30 |
hardcoded to fixed paths in their buildfarm, it's sometimes been a bit |
31 |
icky to get everything compiling smoothly for our users. |
32 |
|
33 |
Take the example of the embedded HTML component in Eclipse, which uses |
34 |
the Gecko rendering engine. Upstream, this component has historically |
35 |
either been built against the Gecko SDK or one of the Mozilla 1.x stable |
36 |
branch, but upstream doesn't maintain compatibility for both. So, we've |
37 |
had to patch in support for compiling Eclipse on systems where only |
38 |
Firefox is installed (and this is possible, even though the label |
39 |
advises against it;). |
40 |
|
41 |
Since I've not yet familiarized myself with the JDK source base, I |
42 |
cannot offer specific examples of where we would need to patch your |
43 |
build scripts, but I am sure we'll run into something pretty quickly, |
44 |
and so will the Debian, Fedora, OpenSUSE and Ubuntu guys, I am sure. |
45 |
|
46 |
> The current contribution process is a work in progress and we know it's |
47 |
> not the final one. We plan to develop a better contribution process |
48 |
> over time. The process that's there is very similar to the process we |
49 |
> use in-house that Sun engineers go through on every change we make to |
50 |
> Java SE. We take stability as a very high attribute and the process we |
51 |
> follow involves a lot of peer review and unit/etc testing before it is |
52 |
> allowed into the central source repository. |
53 |
|
54 |
That is perfectly understandable, and I would have it no other way. Your |
55 |
goal is to ship stable products and be the primary care takers of the |
56 |
JDK code base. |
57 |
|
58 |
What we need is a place and a forum where we can share build system |
59 |
patches and fixes (and sometimes, the patches may affect more than just |
60 |
the build system -- even you guys make a few mistakes and incorrect |
61 |
assumptions in your code now and again;). |
62 |
|
63 |
> But, that said, any future contribution process is open for discussion. |
64 |
> The appropriate place to take that is the mailing lists and/or forums on |
65 |
> java.net. |
66 |
> |
67 |
> We are open to, in the future, having external contributors with direct |
68 |
> putback rights. And that, too, is a topic for discussion. |
69 |
|
70 |
I think I should be clear that I'm not asking for you to loosen your |
71 |
standards when it comes to the commit privileges on the OpenJDK |
72 |
repository. I do see the need for an arena with a code repo, a wiki, a |
73 |
mailing list where the JDK packagers on the various distros can share |
74 |
code, ideas, gripes and experience. |
75 |
|
76 |
> BTW, one goal for the jdk-distros project was for it to hold the |
77 |
> installer scripts for each distribution using the DLJ. The |
78 |
> Debian/Ubuntu scripts are in the jdk-distros repository. The Gentoo |
79 |
> scripts could be, if you desire, if there is any need for it. |
80 |
|
81 |
The jdk-distros project may indeed be exactly what we're looking for |
82 |
here. I don't think that there's any point in us putting our ebuilds |
83 |
into this repo, however, because they would grow stale in a matter of |
84 |
days -- as you know, we try to maintain all our installation scripts |
85 |
(i.e. ebuilds) in the Portage tree, so that they're always and instantly |
86 |
available to our users. |
87 |
|
88 |
Any patches and fixes that we eventually apply to the JDK built system, |
89 |
however, are candidates for inclusion into jdk-distros. |
90 |
|
91 |
> The purpose was along the lines of what you have discussed. To |
92 |
> facilitate sharing between the distribution makers of the installation |
93 |
> procedures. |
94 |
|
95 |
Perhaps expanding the mandate for jdk-distros is useful, then, to also |
96 |
include build system patches for the OpenJDK. |
97 |
|
98 |
Since Gentoo is "from source"-outfit, our focus will shift towards |
99 |
source drops of the JDK as these become available (hopefully some time |
100 |
next year) and Java 1.7 draws closer to a release. I anticipate that we |
101 |
will keep Sun-provided binaries for 1.5, 1.6 and 1.7, and probably even |
102 |
future versions in the years to come, but our priority has always been |
103 |
and will always be source-based packages. |
104 |
|
105 |
(But I'm not the cat-herder around here anymore, so my thoughts on the |
106 |
binary/source issue are just speculations based on hard-earned |
107 |
experience, and should not be taken as any official statement on behalf |
108 |
of the Gentoo Java Team.) |
109 |
|
110 |
|
111 |
Cheers, |
112 |
|
113 |
-- Karl T |
114 |
-- |
115 |
gentoo-java@g.o mailing list |