Daylight Saving Time and Perl - Issues

n1vux on 2007-01-23T03:25:25

General advice has been that if the OS is patched for the DST change, Perl will be OK between March 11 and Apr 4, when US DST starts 3 weeks early this year. e.g.,



However, RedHat Enterprise Linux 3's Perl 5.8.0 doesn't notice that the DST date for the OS changed. I grabbed a "dst.pl" test script from HP Support's forumsscript and it's working fine everywhere else, but appears to report "unpatched" on the RHEL3 system that is patched according to ZDUMP(8) and release levels.



Is this perhaps GCC 2 => GCC 3 transistion legacy baggage?



That was my guess, and nm(1) seems to support - it reports built with GLIBC232 while RHEL3 is GLIBC323 (subtle, these two numbers). But NM also appears to say it's dyanmically linked and I don't see an older glibc on the box?

Anyone know for sure?

=====================

UPDATE #1

GLIBC2.0 seems to have been a red herring, perl -V says it was built with GCC323, and if I build a new HelloWorld0311.c that expands a time_t value between 2007-03-11 2AMEST and 04-04 2AMEST, it behaves identically. Report from a colleague with a RHEL2.1 system is that perl is correct there, but not on his RHEL3 with home-built Perl 5.8.8 too. This starts to make sense, since Red Hat notes on DST said they were issuing a LIBC patch for RHEL2.1 but only an Olson TZ (zoneinfo) file for RHEL3.

I think we need a RHEL3 LIBC patch to have Perl and C localtime() working.

=====================

UPDATE #2

See BLU.org discussion - . Either redeploying /etc/{.|locales?}/localtime from /usr/share/{.|lib}/zoneinfo after patching or applying all RHEL3/4 patches not just the suggested one seems to be the trick. Perhaps the patch failed to refresh because our RHEL3 install is missing the needed tzconfig utility, but it looks like cp would do the trick.

=====================

FYI, DateTime::TimeZone is another issue ... it has it's own Olson TZ/zoneinfo, that's it's whole point, it's independent, so it needs to be updated instead of or in addition to the OS, that's a feature.


DateTime::Timezone - already fixed

merlyn on 2007-01-23T03:59:06

Presuming 2007a of the Olson Database is up to date, apparently DateTime::TimeZone is already ok.

Re:DateTime::Timezone - already fixed

n1vux on 2007-01-23T05:43:28

Yeah. If you've downloaded since 0.36 or 0.38 even since Olson 2005l had it. And the only reason to HAVE DT::TZ is if you WANT to grab these early and often, so hopefully this is the one module people update on their production servers. But someone probable has an old copy ...