TimeZone Updater Tool/Project, where would we put it?

Andrew Leonard andrew_m_leonard at uk.ibm.com
Fri Nov 29 15:08:27 UTC 2019


The .zip contains the tzupdater "program" along with the latest tzdb.dat.
The user then unzips this and runs the "program" in the desired "mode".
Currently, it distinguishes jdk8 from jdk11+ only, and the only version 
update is that contained within the new tzdb.dat eg."2019c". So you can 
run the tool in "discovery" mode which will simply print out what tzdb 
version each JDK is at...
The basis of updating any jdk8,11,13,.. with the tzdb.dat is based upon 
the fact that it's currently producing a "rearguard" tzdb.dat which is 
compatible with all these versions... This would need changing going 
forward when vanguard is used, and perhaps with that in sight it maybe 
best to update the tool to only patch the same versions from which the 
updater was built from...

I can thus see several improvements being discussed here:
- Better JDK version detection
- Possibly provide release/version file update somewhere to identify the 
update other than just in the tzdb.dat
- Make the tool "version" specific,ie. a jdk13 "updater.zip" will only 
patch a jdk13 JDK.

Thanks
Andrew

Andrew Leonard
Java Runtimes Development
IBM Hursley
IBM United Kingdom Ltd
internet email: andrew_m_leonard at uk.ibm.com 




From:   Alan Bateman <Alan.Bateman at oracle.com>
To:     Andrew Leonard <andrew_m_leonard at uk.ibm.com>
Cc:     jdk-dev <jdk-dev at openjdk.java.net>
Date:   29/11/2019 10:36
Subject:        [EXTERNAL] Re: TimeZone Updater Tool/Project, where would 
we put it?



On 28/11/2019 15:48, Andrew Leonard wrote:
> - Contribute all the tzupdater code to the JDK (jdk/jdk) project under 
the
> folder "src/tzupdater"
> - Add configure option --build-latest-tzupdater
> - When specified it:
>      - upgrades the IANA files with the latest from IANA
>      - once tzdb.dat has been built as part of gendata target, the
> src/tzupdater is built which produces
> "build/<platformdir>/images/tzupdater/jtzuYYYY[a-z].zip"
> (2):
> - Currently the built "jtzuYYYY[a-z]/zip" can be applied by the end user
> to any jdk8+ based on current features and "rearguard" compatibility.
>
Can you expand a bit on what you mean by "can be applied"? It is a zip 
that is unzipped over an existing run-time image or is a script or 
native program that patches the run-time image? I guess I'm trying to 
understand if this is specific to tzdb.dat or whether it's a more 
general patching tool. I would minimally expect that anything updating 
the run-time image would do version and other sanity checks before 
updating and that it would update the `release` file to leave clear 
evidence that it was updated. I'm also wondering why the build of JDK N 
would produce a patch for releases older than N - is that just 
convenience because the more recent TZ data will be likely in the repo 
building JDK N?

-Alan




Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU



More information about the jdk-dev mailing list