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

Attachment: icu.debdiff.xz
Description: application/xz

Reply via email to