a944df48d8
X-SVN-Rev: 13984
102 lines
3.5 KiB
Plaintext
102 lines
3.5 KiB
Plaintext
**********************************************************************
|
|
* Copyright (c) 2003, International Business Machines
|
|
* Corporation and others. All Rights Reserved.
|
|
**********************************************************************
|
|
* Author: Alan Liu
|
|
* Created: August 18 2003
|
|
* Since: ICU 2.8
|
|
**********************************************************************
|
|
|
|
----------------------------------------------------------------------
|
|
OVERVIEW
|
|
|
|
This file describes the tools in icu/source/tools/gentz/tzcode
|
|
|
|
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).
|
|
Unlike earlier releases, ICU4C 2.8 supports historical time zone
|
|
behavior, as well as the full set of Olson compatibility IDs.
|
|
|
|
References:
|
|
|
|
ICU4C: http://oss.software.ibm.com/icu/
|
|
Olson: ftp://elsie.nci.nih.gov/pub/
|
|
|
|
----------------------------------------------------------------------
|
|
ICU4C vs. ICU4J
|
|
|
|
As of release 2.8, the ICU time zone implementations in C and Java
|
|
have diverged for various reasons. The C implementation is a full
|
|
implementation, whereas ICU4J (as of 2.8) uses the underlying JDK
|
|
1.3 or 1.4 time zone implementation.
|
|
|
|
The "present day snapshot" only reflects current time zone behavior,
|
|
without historical variation. Furthermore, it lacks the full set of
|
|
Olson compatibility IDs. The "present day snapshot" is implemented in
|
|
ICU (C and Java) <= 2.6.
|
|
|
|
----------------------------------------------------------------------
|
|
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
|
|
|
|
ICU only uses the tzcodeYYYYV.tar.gz and tzdataYYYYV.tar.gz files,
|
|
where YYYY is the year and V is the version letter ('a'...'z').
|
|
|
|
----------------------------------------------------------------------
|
|
HOWTO
|
|
|
|
1. Obtain the current versions of tzcodeYYYYV.tar.gz (aka `tzcode')
|
|
and tzdataYYYYV.tar.gz (aka `tzdata') from the FTP site given
|
|
above. Either manually download or use wget:
|
|
|
|
$ cd {path_to}/icu/source/tools/gentz/tzcode
|
|
$ wget "ftp://elsie.nci.nih.gov/pub/tz*.tar.gz"
|
|
|
|
2. Unpack tzcode and tzdata directly into the directory gentz/tzcode:
|
|
|
|
$ tar xzvf tzcode*.tar.gz
|
|
$ tar xzvf tzdata*.tar.gz
|
|
|
|
3. Apply the ICU patch to zic.c:
|
|
|
|
$ patch < patch-icu-tzcode
|
|
|
|
If patch complains at this point, there is a mismatch that must be
|
|
manually addressed. See the CVS log of `patch-icu-tzcode' for
|
|
version details.
|
|
|
|
4. Build:
|
|
|
|
$ make icu_data
|
|
|
|
5. Copy the data file to the correct location in the ICU source tree:
|
|
|
|
$ cp zoneinfo.txt ../../../data/misc/
|
|
|
|
6. Rebuild ICU:
|
|
|
|
$ cd ../../../
|
|
$ {*make}
|
|
|
|
7. Don't forget to check in the new zoneinfo.txt (from its location at
|
|
{path_to}/icu/source/data/misc/zoneinfo.txt) into CVS.
|
|
|
|
----------------------------------------------------------------------
|
|
eof
|