ports/151923: [patch] java/openjdk6: free and native openjdk bootstrap

Jung-uk Kim jkim at FreeBSD.org
Thu Nov 4 17:51:52 UTC 2010


[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