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