From owner-freebsd-java@FreeBSD.ORG Thu Nov 4 18:00:25 2010 Return-Path: Delivered-To: java@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F4851065670 for ; Thu, 4 Nov 2010 18:00:25 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id F23018FC13 for ; Thu, 4 Nov 2010 18:00:24 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id oA4I0OpE033341 for ; Thu, 4 Nov 2010 18:00:24 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id oA4I0ODU033325; Thu, 4 Nov 2010 18:00:24 GMT (envelope-from gnats) Date: Thu, 4 Nov 2010 18:00:24 GMT Message-Id: <201011041800.oA4I0ODU033325@freefall.freebsd.org> To: java@FreeBSD.org From: Jung-uk Kim Cc: Subject: Re: ports/151923: [patch] java/openjdk6: free and native openjdk bootstrap X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Jung-uk Kim List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Nov 2010 18:00:25 -0000 The following reply was made to PR ports/151923; it has been noted by GNATS. From: Jung-uk Kim To: bug-followup@FreeBSD.org, freebsd-java@freebsd.org, Rob Farmer 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