2003-08-18 20:28:20 +00:00
|
|
|
**********************************************************************
|
2007-04-03 04:36:52 +00:00
|
|
|
* Copyright (c) 2003-2007, International Business Machines
|
2003-08-18 20:28:20 +00:00
|
|
|
* Corporation and others. All Rights Reserved.
|
|
|
|
**********************************************************************
|
|
|
|
* Author: Alan Liu
|
|
|
|
* Created: August 18 2003
|
|
|
|
* Since: ICU 2.8
|
|
|
|
**********************************************************************
|
|
|
|
|
2006-08-03 23:40:18 +00:00
|
|
|
Note: this directory currently contains tzcode as of tzcode2006h.tar.gz
|
2006-08-16 18:46:55 +00:00
|
|
|
with localtime.c patches from tzcode2006i.tar.gz
|
|
|
|
|
2006-08-03 23:40:18 +00:00
|
|
|
|
2003-08-18 20:28:20 +00:00
|
|
|
----------------------------------------------------------------------
|
|
|
|
OVERVIEW
|
|
|
|
|
2004-02-10 21:56:29 +00:00
|
|
|
This file describes the tools in icu/source/tools/tzcode
|
2003-08-18 20:28:20 +00:00
|
|
|
|
|
|
|
The purpose of these tools is to process the zoneinfo or "Olson" time
|
|
|
|
zone database into a form usable by ICU4C (release 2.8 and later).
|
2003-09-01 22:07:36 +00:00
|
|
|
Unlike earlier releases, ICU4C 2.8 supports historical time zone
|
2003-08-18 20:28:20 +00:00
|
|
|
behavior, as well as the full set of Olson compatibility IDs.
|
|
|
|
|
|
|
|
References:
|
|
|
|
|
2007-10-09 08:44:58 +00:00
|
|
|
ICU4C: http://www.icu-project.org/
|
2003-08-18 20:28:20 +00:00
|
|
|
Olson: ftp://elsie.nci.nih.gov/pub/
|
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
ICU4C vs. ICU4J
|
|
|
|
|
2004-05-25 22:34:55 +00:00
|
|
|
For ICU releases >= 2.8, both ICU4C and ICU4J implement full
|
|
|
|
historical time zones, based on Olson data. The implementations in C
|
|
|
|
and Java are somewhat different. The C implementation is a
|
|
|
|
self-contained implementation, whereas ICU4J uses the underlying JDK
|
2003-09-04 23:10:26 +00:00
|
|
|
1.3 or 1.4 time zone implementation.
|
2003-08-18 20:28:20 +00:00
|
|
|
|
2004-05-25 22:34:55 +00:00
|
|
|
Older versions of ICU (C and Java <= 2.6) implement a "present day
|
|
|
|
snapshot". This only reflects current time zone behavior, without
|
|
|
|
historical variation. Furthermore, it lacks the full set of Olson
|
|
|
|
compatibility IDs.
|
2003-08-18 20:28:20 +00:00
|
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
BACKGROUND
|
|
|
|
|
|
|
|
The zoneinfo or "Olson" time zone package is used by various systems
|
|
|
|
to describe the behavior of time zones. The package consists of
|
|
|
|
several parts. E.g.:
|
|
|
|
|
|
|
|
Index of ftp://elsie.nci.nih.gov/pub/
|
|
|
|
|
|
|
|
classictzcode.tar.gz 65 KB 12/10/1994 12:00:00 AM
|
|
|
|
classictzdata.tar.gz 67 KB 12/10/1994 12:00:00 AM
|
|
|
|
e5+57.tar.gz 2909 KB 3/22/1993 12:00:00 AM
|
|
|
|
iso8601.ps.gz 16 KB 7/27/1996 12:00:00 AM
|
|
|
|
leastsq.xls 49 KB 4/24/1997 12:00:00 AM
|
|
|
|
ltroff.tar.gz 36 KB 7/16/1993 12:00:00 AM
|
|
|
|
pi.shar.gz 4 KB 3/9/1994 12:00:00 AM
|
|
|
|
tzarchive.gz 3412 KB 8/18/2003 4:00:00 AM
|
|
|
|
tzcode2003a.tar.gz 98 KB 3/24/2003 2:32:00 PM
|
|
|
|
tzdata2003a.tar.gz 132 KB 3/24/2003 2:32:00 PM
|
|
|
|
|
2006-08-04 01:18:19 +00:00
|
|
|
ICU only uses the tzdataYYYYV.tar.gz files,
|
2003-08-18 20:28:20 +00:00
|
|
|
where YYYY is the year and V is the version letter ('a'...'z').
|
|
|
|
|
2006-08-04 01:18:19 +00:00
|
|
|
This directory has partial contents of tzcode checked into ICU
|
|
|
|
|
2003-08-18 20:28:20 +00:00
|
|
|
----------------------------------------------------------------------
|
|
|
|
HOWTO
|
|
|
|
|
2006-08-04 01:18:19 +00:00
|
|
|
0. Note, these instructions will only work on POSIX type systems.
|
2006-08-03 23:40:18 +00:00
|
|
|
|
2006-09-13 23:33:24 +00:00
|
|
|
1. Obtain the current versions of tzdataYYYYV.tar.gz (aka `tzdata') from
|
|
|
|
the FTP site given above. Either manually download or use wget:
|
2003-08-18 20:28:20 +00:00
|
|
|
|
2004-02-10 21:56:29 +00:00
|
|
|
$ cd {path_to}/icu/source/tools/tzcode
|
2006-08-04 01:18:19 +00:00
|
|
|
$ wget "ftp://elsie.nci.nih.gov/pub/tzdata*.tar.gz"
|
2003-08-18 20:28:20 +00:00
|
|
|
|
2006-09-13 23:33:24 +00:00
|
|
|
2. Copy only one tzdata*.tar.gz file into the icu/source/tools/tzcode/
|
|
|
|
directory (this directory).
|
2003-08-18 20:28:20 +00:00
|
|
|
|
2004-05-25 22:34:55 +00:00
|
|
|
*** Make sure you only have ONE FILE named tzdata*.tar.gz in the
|
|
|
|
directory.
|
2003-09-01 22:07:36 +00:00
|
|
|
|
2006-08-04 01:18:19 +00:00
|
|
|
3. Build ICU normally. You will see a notice "updating zoneinfo.txt..."
|
2003-09-01 22:07:36 +00:00
|
|
|
|
2007-04-03 04:36:52 +00:00
|
|
|
### Following instructions for ICU maintainers only ###
|
|
|
|
|
|
|
|
4. Obtain the current version of tzcodeYYYY.tar.gz from the FTP site to
|
|
|
|
this directory.
|
|
|
|
|
|
|
|
5. Run make target "check-dump". This target extract makes the original
|
|
|
|
tzcode and compile the original tzdata with icu supplemental data
|
|
|
|
(icuzones). Then it makes zdump / icuzdump and dump all time
|
|
|
|
transitions for all ICU timezone to files under zdumpout / icuzdumpout
|
|
|
|
directory. When they produce different results, the target returns
|
|
|
|
the error.
|
|
|
|
|
|
|
|
6. Don't forget to check in the new zoneinfo.txt (from its location at
|
|
|
|
{path_to}/icu/source/data/misc/zoneinfo.txt) into SVN.
|
|
|
|
|