X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/374ca955a76ecab1204ca8bfa63ff9238d998416..151279e3792e85d0417b499c229886b3af724f55:/icuSources/tools/tzcode/readme.txt diff --git a/icuSources/tools/tzcode/readme.txt b/icuSources/tools/tzcode/readme.txt index d13b1468..7ad2cce0 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-2007, 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 tzcode2006h.tar.gz + with localtime.c patches from tzcode2006i.tar.gz + + ---------------------------------------------------------------------- OVERVIEW @@ -19,7 +23,7 @@ behavior, as well as the full set of Olson compatibility IDs. References: -ICU4C: http://oss.software.ibm.com/icu/ +ICU4C: http://www.icu-project.org/ Olson: ftp://elsie.nci.nih.gov/pub/ ---------------------------------------------------------------------- @@ -56,91 +60,42 @@ several parts. E.g.: tzcode2003a.tar.gz 98 KB 3/24/2003 2:32:00 PM tzdata2003a.tar.gz 132 KB 3/24/2003 2:32:00 PM -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://elsie.nci.nih.gov/pub/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 zoneinfo.txt (from its location at + {path_to}/icu/source/data/misc/zoneinfo.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