Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Dec 2011 14:44:32 -0800
From:      Greg Lewis <glewis@eyesbeyond.com>
To:        Jason Helfman <jgh@FreeBSD.org>
Cc:        Jilles Tjoelker <jilles@stack.nl>, Andriy Gapon <avg@FreeBSD.org>, freebsd-java@FreeBSD.org
Subject:   Re: java/163456: [patch] java/openjdk6: build and distribute open timezone data (tzdata)
Message-ID:  <20111228224432.GA25830@misty.eyesbeyond.com>
In-Reply-To: <20111224224338.GA89131@dormouse.experts-exchange.com>
References:  <201112201750.pBKHoD7P060916@freefall.freebsd.org> <20111220192549.GA58911@dormouse.experts-exchange.com> <4EF114D2.3010101@FreeBSD.org> <20111221035634.GA54362@dormouse.experts-exchange.com> <20111224224338.GA89131@dormouse.experts-exchange.com>

next in thread | previous in thread | raw e-mail | index | archive | help
G'day Jason,

On Sat, Dec 24, 2011 at 02:43:38PM -0800, Jason Helfman wrote:
> On Tue, Dec 20, 2011 at 07:56:34PM -0800, Jason Helfman thus spake:
> >On Wed, Dec 21, 2011 at 01:05:54AM +0200, Andriy Gapon thus spake:
> >>You don't need it installed if the building of java timezone files is done
> >>within a jdk port.  OTOH, if java timezone data lives in a separate port, then
> >>it needs to be updatable independently and thus it needs some tools for the
> >>zoneinfo -> java tz conversion.
> >>
> >>E.g. please see some earlier deliberations on this topic which never came to
> >>fruition:
> >>http://article.gmane.org/gmane.os.freebsd.devel.java/11756
> >>http://article.gmane.org/gmane.os.freebsd.devel.java/11638
> >>
> >>Now that you have this thing going I hope that you would be interested to
> >>implement it as close to perfection as possible :-)
> >>Even if not, then what you already have is much better that the status quo.
> >>Thank you.
> >>
> >>P.S. Just noticed Jilles' followup, could have saved myself some typing :)
> >>But since this is already written then I am just hitting Send.
> >>
> >
> >The original stab at this is here:
> >http://lists.freebsd.org/pipermail/freebsd-java/2011-December/009470.html
> >
> >This link has a shar that creates timezone data port, and replaces openjdk6
> >zi distributed zoneinformation. It uses openjdk as a build dependency.
> >It can be re-worked to install to ${LOCALBASE}/share/java/zoneinfo,
> >and then have other ports link to it post-install.
> >
> >I can rename to something more appropriate like jdk-tzdata.
> >
> >Thoughts?
> >
> 
> Is this something that could be considered for committing into the tree
> whilst a better long-term solution is being sought and developed so all
> jdk's may use it?
> 
> Happy Holidays everyone!

I think the change to openjdk6 to install javazic.jar and the fontgen jar
as well (I forget what that is called) is worth committing.  I plan to
commit those to openjdk7 and likely openjdk6 unless someone else does it
first.

I think there are a couple of downsides to the proposed openjdk6-tzdata
port.

1. It's not obvious to the user that they should install it when they are
   installing openjdk6.  You really want openjdk6 to depend on it, but it
   can't since you're using an installed openjdk6 to generate the zi files.

2. A more general solution isn't that much harder since the zi files are
   identical across all of the supported JDK/JRE ports, so why avoid the
   general solution for a short lived (I hope) specific solution?

There are two ways this port could be approached.  A simple way would be
to create a port which downloads already generated zi files.  That relies
on the maintainer to generate them afresh (presumably with javazic) each
time a new data set is released, but it removes dependency cycles and is
simple to generalise.  A second way would be to write a version of javazic
in another language to avoid bootstrapping problems.  zic(8) already
understands the input files, I wonder how hard it would be to get it to
write the output in the java zoneinfo format?  I've started tinkering with
C code to read/write the java zoneinfo format, but I'm somewhat short on
time.  I haven't started looking into why zic(8) outputs a slightly
different set of files (not simply the same files in a different format)
when fed the same input files as javazic.

-- 
Greg Lewis                          Email   : glewis@eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis@FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111228224432.GA25830>