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 10Note: this directory currently contains tzcode as of tzcode2006h.tar.gz 11 with localtime.c patches from tzcode2006i.tar.gz 12 13 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 26ICU4C: http://www.icu-project.org/ 27Olson: ftp://elsie.nci.nih.gov/pub/ 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 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 63ICU only uses the tzdataYYYYV.tar.gz files, 64where YYYY is the year and V is the version letter ('a'...'z'). 65 66This directory has partial contents of tzcode checked into ICU 67 68---------------------------------------------------------------------- 69HOWTO 70 710. Note, these instructions will only work on POSIX type systems. 72 731. 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 792. 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 853. Build ICU normally. You will see a notice "updating zoneinfo.txt..." 86 87### Following instructions for ICU maintainers only ### 88 894. Obtain the current version of tzcodeYYYY.tar.gz from the FTP site to 90 this directory. 91 925. 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 996. 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 102