]>
Commit | Line | Data |
---|---|---|
374ca955 | 1 | ********************************************************************** |
b331163b | 2 | * Copyright (c) 2003-2014, International Business Machines |
374ca955 A |
3 | * Corporation and others. All Rights Reserved. |
4 | ********************************************************************** | |
5 | * Author: Alan Liu | |
6 | * Created: August 18 2003 | |
7 | * Since: ICU 2.8 | |
8 | ********************************************************************** | |
9 | ||
b331163b A |
10 | Note: this directory currently contains tzcode as of tzcode2014b.tar.gz |
11 | with localtime.c patches from tzcode2014b.tar.gz | |
73c04bcf A |
12 | |
13 | ||
374ca955 A |
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 | ||
4162bf98 | 26 | ICU4C: http://www.icu-project.org/ |
b331163b | 27 | Olson: ftp://ftp.iana.org/tz/releases/ |
374ca955 A |
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 | ||
b331163b | 50 | Index of ftp://ftp.iana.org/tz/releases/ |
374ca955 | 51 | |
b331163b A |
52 | tzcode2014b.tar.gz 172 KB 3/25/2014 05:11:00 AM |
53 | tzdata2014b.tar.gz 216 KB 3/25/2014 05:11:00 AM | |
374ca955 | 54 | |
73c04bcf | 55 | ICU only uses the tzdataYYYYV.tar.gz files, |
374ca955 A |
56 | where YYYY is the year and V is the version letter ('a'...'z'). |
57 | ||
73c04bcf A |
58 | This directory has partial contents of tzcode checked into ICU |
59 | ||
374ca955 A |
60 | ---------------------------------------------------------------------- |
61 | HOWTO | |
62 | ||
73c04bcf A |
63 | 0. Note, these instructions will only work on POSIX type systems. |
64 | ||
4162bf98 A |
65 | 1. Obtain the current versions of tzdataYYYYV.tar.gz (aka `tzdata') from |
66 | the FTP site given above. Either manually download or use wget: | |
374ca955 A |
67 | |
68 | $ cd {path_to}/icu/source/tools/tzcode | |
b331163b | 69 | $ wget "ftp://ftp.iana.org/tz/releases/tzdata*.tar.gz" |
374ca955 | 70 | |
4162bf98 A |
71 | 2. Copy only one tzdata*.tar.gz file into the icu/source/tools/tzcode/ |
72 | directory (this directory). | |
374ca955 A |
73 | |
74 | *** Make sure you only have ONE FILE named tzdata*.tar.gz in the | |
75 | directory. | |
374ca955 | 76 | |
73c04bcf | 77 | 3. Build ICU normally. You will see a notice "updating zoneinfo.txt..." |
374ca955 | 78 | |
4162bf98 A |
79 | ### Following instructions for ICU maintainers only ### |
80 | ||
81 | 4. Obtain the current version of tzcodeYYYY.tar.gz from the FTP site to | |
82 | this directory. | |
83 | ||
84 | 5. Run make target "check-dump". This target extract makes the original | |
85 | tzcode and compile the original tzdata with icu supplemental data | |
86 | (icuzones). Then it makes zdump / icuzdump and dump all time | |
87 | transitions for all ICU timezone to files under zdumpout / icuzdumpout | |
88 | directory. When they produce different results, the target returns | |
89 | the error. | |
90 | ||
b331163b A |
91 | 6. Don't forget to check in the new zoneinfo64.txt (from its location at |
92 | {path_to}/icu/source/data/misc/zoneinfo64.txt) into SVN. | |
4162bf98 | 93 |