Comment 7 for bug 41159

Revision history for this message
Black_Diamond (black-diamond-deactivatedaccount) wrote :

Both ICU4C and ICU4J include their own copy of the tzdata in a more usable format. Since the existing POSIX and Linux APIs insufficiently expose all of the timezone data, and because the CLDR metazone information is tightly bound to a version of the timezone data, ICU can't use the system tzdata. Also ICU is a cross platform library, and not all operating system use the same type of timezone data. This is a common problem for environments that want to detect and use all the rules for the timezone data, like Java, vmware, ICU and others. There is no way to reliably get access to the Olson timezone ID.

ICU already provides instructions for updating the timezone data, and those instructions are located here: http://www.icu-project.org/userguide/dateTimezone.html#tzupdate

I recommend using a similar approach to what Apple and other operating system vendors do with ICU and its timezone data. This basically means using the --with-data-packaging=archive configure option, and defining the ICU_DATA_DIR macro in CPPFLAGS before configuring ICU. Defining a default value for ICU_DATA_DIR allows ICU to find its data. An example can be found on Apple's web site: http://www.opensource.apple.com/darwinsource/Current/ICU-8.11.1/makefile

ICU's User Guide also provides more detailed information about managing ICU's data, if you're interested. http://www.icu-project.org/userguide/icudata.html

If you have further questions, the people on the icu-support mailing list might be able to help.
http://www.icu-project.org/contacts.html