ports/151923: [patch] java/openjdk6: free and native openjdk
bootstrap
Jung-uk Kim
jkim at FreeBSD.org
Thu Nov 4 18:00:25 UTC 2010
The following reply was made to PR ports/151923; it has been noted by GNATS.
From: Jung-uk Kim <jkim at FreeBSD.org>
To: bug-followup at FreeBSD.org,
freebsd-java at freebsd.org,
Rob Farmer <rfarmer at predatorlabs.net>
Cc:
Subject: Re: ports/151923: [patch] java/openjdk6: free and native openjdk bootstrap
Date: Thu, 4 Nov 2010 13:51:38 -0400
[I am not picking on anyone here. It's just a rant about this issue.]
You see this Java bootstrap is a classic chicken-and-egg issue. It's
like "you need C compiler to bootstrap GCC". We have C compiler in
the base, so it isn't a big deal. Now Java bootstrap is more
complicated because we don't have GCJ or something like that in the
base. You say we build them from build clusters but how? How do we
bootstrap itself without help of another Java compiler such as GCJ?
If we are going ahead in this direction, clearly somebody has to
maintain the sources, patches, and generated binaries, and we *must*
have a way to automate the process *outside* of normal ports build
because distributing GPL'd software without knowing how to reproduce
it is worse than third-party binary plugs IMHO. Certainly, I won't
take it for granted your binaries are "free" to redistribute unless
you show me the way to reproduce it.
On the other hand, we have ports/java/jbootstrap to work around this
issue but it is pretty much dead and non-free. If you really want
something like that, you may use ports/java/openjdk6 as master port,
make it bootstrap with GCJ or something totally "free" just enough to
bootstrap OpenJDK6 and OpenJDK7, and package it with minimal runtime
dependency (if there is any). Then, ports/java/openjdk6,
ports/java/openjdk7, etc. can use it as a *build* dependency. I
believe that is the way to go.
Jung-uk Kim
More information about the freebsd-java
mailing list