java/163456: [patch] java/openjdk6: build and distribute open timezone data (tzdata)

Jilles Tjoelker jilles at stack.nl
Tue Dec 20 22:10:12 UTC 2011


The following reply was made to PR java/163456; it has been noted by GNATS.

From: Jilles Tjoelker <jilles at stack.nl>
To: Greg Lewis <glewis at eyesbeyond.com>
Cc: Jason Helfman <jhelfman at experts-exchange.com>,
	FreeBSD-gnats-submit at freebsd.org, jkim at freebsd.org
Subject: Re: java/163456: [patch] java/openjdk6: build and distribute open
 timezone data (tzdata)
Date: Tue, 20 Dec 2011 23:05:04 +0100

 On Tue, Dec 20, 2011 at 09:47:57AM -0800, Greg Lewis wrote:
 > On Mon, Dec 19, 2011 at 10:39:04AM -0800, Jason Helfman wrote:
 > > Timezone data hasn't been updated since 2010 in OpenJDK. This patch downloads open timezone data, uses the built java tool
 > > javazic.jar to translate files so java may use them, and distributes into the correct location.
 
 > > Builds cleanly in Tinderbox => http://jgh.devio.us/files/logs/openjdk6-b24_1.log.gz
 
 Great.
 
 > > This patch encapsulates the spirit of ports/161945, and potentially could be seen as a duplicate if compilefontconfig.jar
 > > were copied into ${PREFIX}/openjdk6/jre/lib/
 
 > Thanks for doing this!  I wonder if with a little more work we couldn't
 > make this work for all of the JDK ports instead of having to reimplement
 > it for openjdk7, jdk16, jdk15, diablo, etc.
 
 > I.e., can we pull this out into a separate port that installs the
 > appropriate zoneinfo files into somewhere like
 > ${LOCALBASE}/share/java/zoneinfo and then symlink the zi directory in all
 > of the jdk and jre ports to that directory.
 
 This would avoid the need to update and recompile all JDKs whenever
 tzdata changes.
 
 > I haven't looked deeply into your change but I assume the biggest problem
 > with this is that you need a JDK with javazic.jar already installed before
 > you can process the raw zoneinfo files so we'd be creating a circular
 > dependency.
 
 Yes, this causes a bootstrapping problem. It is not much worse than the
 bootstrapping problem Java already has, though. The bootstrap
 requirement changes from a JDK to a JDK-with-javazic.jar.
 
 Also, the files generated by javazic.jar are architecture-independent so
 this should not make bootstrapping a new architecture harder (except
 that ports has no concept of architecture-independent binary packages).
 
 Another alternative is a second tzdata-java port that downloads the
 generated files, so it does not need Java to build.
 
 Don't let this stop you from committing the changes to openjdk6, though.
 
 -- 
 Jilles Tjoelker


More information about the freebsd-java mailing list