Hi, Keith. The timezone information files are owned by the i18n team (i18n-dev@openjdk.java.net). They should be able to provide you with guidance.
Thanks, iris > Date: Wed, 08 Aug 2007 12:40:08 -0700 > From: Keith Seitz <[EMAIL PROTECTED]> > Subject: Using system tzdata > > Hi, > > The JRE contains pre-compiled timezone information files. As an OS > vendor, Red Hat would prefer not to respin or repackage the JRE every > time tzdata changes somewhere in the world. > > In order to facilitate this, we're in the process of modifying our > tzdata package to include pre-compiled zoneinfo files for use with JREs. > I have created a patch to the openjdk JRE that would optionally use > these files instead of the pre-packaged ones in the JRE. > > We would really like to solicit advice/comments about how to get > something like this accepted upstream so that other distros can use this. > > Keith > > > --- openjdk/hotspot/src/os/linux/vm/os_linux.cpp.keiths 2007-08-01 > 10:21:19.000000000 -0700 > +++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2007-08-01 > 10:21:36.000000000 -0700 > @@ -376,6 +376,10 @@ > } > } > > + // Use the system zoneinfo files, if present > + SystemProperty* sp = Arguments::system_properties(); > + Arguments::PropertyList_add (&sp, > + "java.zoneinfo.dir", "/usr/share/zoneinfo/java"); > #undef malloc > #undef getenv > #undef EXTENSIONS_DIR > --- openjdk/j2se/src/share/classes/sun/util/calendar/ZoneInfoFile.java.keiths > 2007-08-01 12:31:03.000000000 -0700 > +++ openjdk/j2se/src/share/classes/sun/util/calendar/ZoneInfoFile.java > 2007-08-01 12:29:44.000000000 -0700 > @@ -1021,10 +1021,18 @@ > byte[] buffer = null; > > try { > - String homeDir = (String) AccessController.doPrivileged( > + String zi_dir = (String) AccessController.doPrivileged( > + new > sun.security.action.GetPropertyAction("java.zoneinfo.dir")); > + File dir = null; > + if (zi_dir != null) > + dir = new File(zi_dir); > + if (dir == null || !dir.exists() || !dir.isDirectory()) { > + String homeDir = (String) AccessController.doPrivileged( > new > sun.security.action.GetPropertyAction("java.home")); > - final String fname = homeDir + File.separator + "lib" + > File.separator > - + "zi" + File.separator + fileName; > + zi_dir = homeDir + File.separator + "lib" + File.separator > + + "zi"; > + } > + final String fname = zi_dir + File.separator + fileName; > buffer = (byte[]) AccessController.doPrivileged(new > PrivilegedExceptionAction() { > public Object run() throws IOException { > File file = new File(fname);