Control: tags -1 patch On 25 April 2016 at 15:57, Felipe Sateler <fsate...@debian.org> wrote: > Package: libicu52 > Version: 52.1-8+deb8u3 > Severity: important > > Dear Maintainer, > > The data used by libicu appears outdated. In particular, the timezone > information for America/Santiago is wrong. I can reproduce the problem > via php and its intl module. If the bug lies in the way php uses libicu, > please reassign. > > Wrong behavior on php, plus correct behavior with date command: > > ``` > $ cat t.php > <?php > $fmt = datefmt_create('C', IntlDateFormatter::LONG, > IntlDateFormatter::LONG, 'America/Santiago', > IntlDateFormatter::GREGORIAN > ); > echo datefmt_format($fmt, 1461592860); > $ php t.php > April 25, 2016 at 10:01:00 AM GMT-4 > $ TZ=America/Santiago date --rfc-2822 > Mon, 25 Apr 2016 15:53:49 -0300 > ``` > > Note how the timezone is incorrectly set as -4, which it should be -3 > (as correctly reported by date) > > This makes a bunch of apps get dates and times all wrong. > > I note the version in unstable is at this moment correct. I suppose the > embedded data needs updating?
I took a stab at doing this. Unfortunately, it doesn't quite work out of the box. For some reason, the data .so is not updated during build. I needed to do the following: 1. Update the tzdata files from http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2016d/44/ 2. Run debian/rules build 3. cd source/data && rm out/build/icudt52l/zoneinfo64.res && make out/build/icudt52l/zoneinfo64.res && make 4. Finish up Tested with the date sample: TZ=America/Santiago LD_LIBRARY_PATH=/path/to/result -r 1461592860 --format XX That should return -0300 instead of -0400 -- Saludos, Felipe Sateler
icu.debdiff.xz
Description: application/xz