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