X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/374ca955a76ecab1204ca8bfa63ff9238d998416..5ea0322b6ab2af986e4c764284141380031dd014:/icuSources/tools/tzcode/readme.txt diff --git a/icuSources/tools/tzcode/readme.txt b/icuSources/tools/tzcode/readme.txt index d13b1468..49d33368 100644 --- a/icuSources/tools/tzcode/readme.txt +++ b/icuSources/tools/tzcode/readme.txt @@ -1,5 +1,5 @@ ********************************************************************** -* Copyright (c) 2003-2004, International Business Machines +* Copyright (c) 2003-2014, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** * Author: Alan Liu @@ -7,6 +7,10 @@ * Since: ICU 2.8 ********************************************************************** +Note: this directory currently contains tzcode as of tzcode2014b.tar.gz + with localtime.c patches from tzcode2014b.tar.gz + + ---------------------------------------------------------------------- OVERVIEW @@ -19,8 +23,8 @@ behavior, as well as the full set of Olson compatibility IDs. References: -ICU4C: http://oss.software.ibm.com/icu/ -Olson: ftp://elsie.nci.nih.gov/pub/ +ICU4C: http://www.icu-project.org/ +Olson: ftp://ftp.iana.org/tz/releases/ ---------------------------------------------------------------------- ICU4C vs. ICU4J @@ -43,104 +47,47 @@ The zoneinfo or "Olson" time zone package is used by various systems to describe the behavior of time zones. The package consists of several parts. E.g.: - Index of ftp://elsie.nci.nih.gov/pub/ + Index of ftp://ftp.iana.org/tz/releases/ - classictzcode.tar.gz 65 KB 12/10/1994 12:00:00 AM - classictzdata.tar.gz 67 KB 12/10/1994 12:00:00 AM - e5+57.tar.gz 2909 KB 3/22/1993 12:00:00 AM - iso8601.ps.gz 16 KB 7/27/1996 12:00:00 AM - leastsq.xls 49 KB 4/24/1997 12:00:00 AM - ltroff.tar.gz 36 KB 7/16/1993 12:00:00 AM - pi.shar.gz 4 KB 3/9/1994 12:00:00 AM - tzarchive.gz 3412 KB 8/18/2003 4:00:00 AM - tzcode2003a.tar.gz 98 KB 3/24/2003 2:32:00 PM - tzdata2003a.tar.gz 132 KB 3/24/2003 2:32:00 PM + tzcode2014b.tar.gz 172 KB 3/25/2014 05:11:00 AM + tzdata2014b.tar.gz 216 KB 3/25/2014 05:11:00 AM -ICU only uses the tzcodeYYYYV.tar.gz and tzdataYYYYV.tar.gz files, +ICU only uses the tzdataYYYYV.tar.gz files, where YYYY is the year and V is the version letter ('a'...'z'). +This directory has partial contents of tzcode checked into ICU + ---------------------------------------------------------------------- HOWTO -1. Obtain the current versions of tzcodeYYYYV.tar.gz (aka `tzcode') - and tzdataYYYYV.tar.gz (aka `tzdata') from the FTP site given - above. Either manually download or use wget: +0. Note, these instructions will only work on POSIX type systems. - $ cd {path_to}/icu/source/tools/tzcode - $ wget "ftp://elsie.nci.nih.gov/pub/tz*.tar.gz" +1. Obtain the current versions of tzdataYYYYV.tar.gz (aka `tzdata') from + the FTP site given above. Either manually download or use wget: -2. Unpack tzcode and tzdata directly into the directory tzcode: + $ cd {path_to}/icu/source/tools/tzcode + $ wget "ftp://ftp.iana.org/tz/releases/tzdata*.tar.gz" - $ tar xzvf tzcode*.tar.gz - $ tar xzvf tzdata*.tar.gz +2. Copy only one tzdata*.tar.gz file into the icu/source/tools/tzcode/ + directory (this directory). *** Make sure you only have ONE FILE named tzdata*.tar.gz in the directory. - *** Do NOT delete the tzdata*.tar.gz file. - - The Makefile looks in the current directory to determine the - version of Olson data it is building by looking for tzdata*.tar.gz. -3. Apply the ICU patch to zic.c: +3. Build ICU normally. You will see a notice "updating zoneinfo.txt..." - $ patch < patch-icu-tzcode +### Following instructions for ICU maintainers only ### - If patch complains at this point, there is a mismatch that must be - manually addressed. See the CVS log of `patch-icu-tzcode' for - version details. +4. Obtain the current version of tzcodeYYYY.tar.gz from the FTP site to + this directory. -4. Build: +5. Run make target "check-dump". This target extract makes the original + tzcode and compile the original tzdata with icu supplemental data + (icuzones). Then it makes zdump / icuzdump and dump all time + transitions for all ICU timezone to files under zdumpout / icuzdumpout + directory. When they produce different results, the target returns + the error. - $ make icu_data +6. Don't forget to check in the new zoneinfo64.txt (from its location at + {path_to}/icu/source/data/misc/zoneinfo64.txt) into SVN. -5. Copy the data files to the correct location in the ICU4C/ICU4J - source trees: - - $ cp zoneinfo.txt ../../../data/misc/ - $ cp ZoneMetaData.java {path_to}/icu4j/src/com/ibm/icu/impl - -6. Rebuild ICU: - - $ cd ../../../ - $ {*make} - -7. Don't forget to check in the new zoneinfo.txt (from its location at - {path_to}/icu/source/data/misc/zoneinfo.txt) into CVS. - ----------------------------------------------------------------------- -HOWTO regenerate patch-icu-tzcode - -If you need to edit any of the tzcode* files, you will need to -regenerate the patch file as follows. - -1. Follow the above instructions to extract and patch the tzcode* - files in {path_to}/icu/source/tools/tzcode. Modify any of the - tzcode files. - -2. Extract a clean set of the tzcode* files into a new directory, - ../tzcode.orig/: - - $ mkdir ../tzcode.orig - $ cd ../tzcode.orig - $ tar xzf ../tzcode/tzcode*.tar.gz - $ cd ../tzcode - -3. Compute diffs, ignoring files that are in only one directory: - - $ diff -ur ../tzcode.orig . | grep -vE -e "^Only in " > patch-icu-tzcode - -4. Test the patch-icu-tzcode file by regenerating and diffing the - files again in another directory. The expected output from the - final diff command is *nothing*. - - $ mkdir ../tzcode.new - $ cd ../tzcode.new - $ tar xzf ../tzcode/tzcode*.tar.gz - $ patch < ../tzcode/patch-icu-tzcode - $ cd ../tzcode - $ diff -ur ../tzcode.new . | grep -vE -e "^Only in " - -5. Check in the new patch-icu-tzcode file. - ----------------------------------------------------------------------- -eof