]> git.saurik.com Git - apple/icu.git/blame - icuSources/tools/tzcode/readme.txt
ICU-57131.0.1.tar.gz
[apple/icu.git] / icuSources / tools / tzcode / readme.txt
CommitLineData
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
10Note: 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----------------------------------------------------------------------
15OVERVIEW
16
17This file describes the tools in icu/source/tools/tzcode
18
19The purpose of these tools is to process the zoneinfo or "Olson" time
20zone database into a form usable by ICU4C (release 2.8 and later).
21Unlike earlier releases, ICU4C 2.8 supports historical time zone
22behavior, as well as the full set of Olson compatibility IDs.
23
24References:
25
4162bf98 26ICU4C: http://www.icu-project.org/
b331163b 27Olson: ftp://ftp.iana.org/tz/releases/
374ca955
A
28
29----------------------------------------------------------------------
30ICU4C vs. ICU4J
31
32For ICU releases >= 2.8, both ICU4C and ICU4J implement full
33historical time zones, based on Olson data. The implementations in C
34and Java are somewhat different. The C implementation is a
35self-contained implementation, whereas ICU4J uses the underlying JDK
361.3 or 1.4 time zone implementation.
37
38Older versions of ICU (C and Java <= 2.6) implement a "present day
39snapshot". This only reflects current time zone behavior, without
40historical variation. Furthermore, it lacks the full set of Olson
41compatibility IDs.
42
43----------------------------------------------------------------------
44BACKGROUND
45
46The zoneinfo or "Olson" time zone package is used by various systems
47to describe the behavior of time zones. The package consists of
48several 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 55ICU only uses the tzdataYYYYV.tar.gz files,
374ca955
A
56where YYYY is the year and V is the version letter ('a'...'z').
57
73c04bcf
A
58This directory has partial contents of tzcode checked into ICU
59
374ca955
A
60----------------------------------------------------------------------
61HOWTO
62
73c04bcf
A
630. Note, these instructions will only work on POSIX type systems.
64
4162bf98
A
651. 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
712. 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 773. Build ICU normally. You will see a notice "updating zoneinfo.txt..."
374ca955 78
4162bf98
A
79### Following instructions for ICU maintainers only ###
80
814. Obtain the current version of tzcodeYYYY.tar.gz from the FTP site to
82 this directory.
83
845. 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
916. 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