]>
Commit | Line | Data |
---|---|---|
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 |