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