Fwd: cvs commit: ports/java/openjdk6 Makefile ports/java/openjdk6/files patch-ZoneInfoFile.java

Greg Lewis glewis at eyesbeyond.com
Wed May 2 06:49:57 UTC 2012


FYI.

I'm going to let this bake for a couple of days in openjdk6.  This fixed
the problems I could reproduce with building eclipse.  Please let me know
if you see any time zone related weirdness.  If not I'll also apply the
patch to the other source ports (jdk15, jdk16 and openjdk7).

----- Forwarded message from Greg Lewis <glewis at freebsd.org> -----

Date: Wed, 2 May 2012 06:13:16 +0000 (UTC)
From: Greg Lewis <glewis at freebsd.org>
To: ports-committers at freebsd.org, cvs-ports at freebsd.org, cvs-all at freebsd.org
Subject: cvs commit: ports/java/openjdk6 Makefile ports/java/openjdk6/files
	patch-ZoneInfoFile.java

glewis      2012-05-02 06:13:16 UTC

  FreeBSD ports repository

  Modified files:
    java/openjdk6        Makefile 
  Added files:
    java/openjdk6/files  patch-ZoneInfoFile.java 
  Log:
  . Fix the look up of time zone data when TZUPDATE is turned on and as a
    result turn it on by default again.  This change bears a little more
    explanation.
  
    In UnixFileSystem.java there is a cache of canonical paths and in
    particular one for paths inside java.home.  The problem with looking
    up time zone data is that if another path within java.home has been
    looked up then the symlink for the time zone data is not resolved
    (since the cache assumes there are no symlinks in java.home) and we fail
    to be able to open the ZoneInfoMapping file.
  
    One of the other features in UnixFileSystem is that the cache is not
    consulted and full resolution occurs for paths containing "." or "..".
    I've chosen to (ab)use this to force resolution of the time zone data
    directory in ZoneInfoFile.java rather than doing something like IcedTea
    did which was to introduce a tz.properties file where they would stash
    the time zone info directory rather than symlinking it in.  For full
    reference that patch is here:
  
    http://icedtea.classpath.org/hg/icedtea6/file/tip/patches/use-system-tzdata.patch
  
    There are two main reasons I chose a bit of a hack rather than something
    like this.
  
    1. I want to apply the patch to non-GPL'ed code (e.g. the jdk16 port).
    2. Using updated time zone data is only an option in the port and using
       something like tz.properties when the option is off is clunky.
  
    Thanks to avg@ for sleuth work on finding the bug write up and the
    IcedTea fix.
  
  Revision  Changes    Path
  1.60      +2 -2      ports/java/openjdk6/Makefile
  1.1       +14 -0     ports/java/openjdk6/files/patch-ZoneInfoFile.java (new)

http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/java/openjdk6/Makefile.diff?&r1=1.59&r2=1.60&f=h
http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/java/openjdk6/files/patch-ZoneInfoFile.java

----- End forwarded message -----

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


More information about the freebsd-java mailing list