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