On Sat, Nov 03, 2007 at 05:59:01PM +0100, Szymon Siwek wrote: > On Fri, Nov 02, 2007 at 11:02:41PM +0100, Jakub Bogusz wrote: > > On Tue, Oct 30, 2007 at 09:59:35PM +0000, Szymon Siwek wrote: > > > Witam! > > > > > > $ date > > > Tue Oct 30 21:40:28 UTC 2007 > > > $ TZ=GMT date > > > Tue Oct 30 21:40:38 GMT 2007 > > > $ TZ=CET date > > > Tue Oct 30 21:40:48 CET 2007 > > > $ TZ=CEST date > > > Tue Oct 30 21:40:58 CEST 2007 > > > > "CEST" nie jest obsługiwanym oznaczeniem, więc jest traktowane jako UTC. > Tego nie sprawdziłem. A swoją drogą to glibc, gdy stwierdzi, że w TZ jest > nie obsługiwane oznaczenie, powinien chyba ustawiać tm_zone na UTC, a nie > przekazywać podaną bzdurę. > > $ TZ="= ale późno..." date > pią, 2 lis 2007, 23:32:04 = ale późno...
Jeżeli nie jest to znane oznaczenie, to uznaje za nazwę strefy czasowej. Jeżeli w TZ brakuje przy tym informacji o przesunięciu, to zakłada UTC. Można podać TZ="cokolwiek-8" i będzie co innego niż UTC. > > Odnośnie GMT vs CET nie zaobserwowałem takiego zachowania, nawet przed > > poprawką w tzfile.c. > > > O. Teraz to się zdziwiłem. > U mnie problem był w pełni powtarzalny (glibc-2.6-1 - dobrze, instaluję > 2.7-3 - źle; downgrade do 2.6-1 - znowu dobrze). > Piszę "był", bo po zainstalowaniu glibc-2.7-4 i downgradzie do 2.7-3, nie > ma już tego objawu. > Żeby ów błąd w tzfile_read się objawił, konieczne było aby > tzhead.tzh_version było pustym łańcuchem, gdy sterowanie dojdzie do > porawionej linii. I tak też było, gdy opisywałem i badałem zgłoszony > problem. Obecnie, zarówno w 2.7-3 jak i w 2.7-4, tzhead.tzh_version jest > ustawione na "2". Dziwne. A dla mnie już chyba jasne. Hint: którą (a właściwie kiedy budowaną) wersję tzdata miałeś przedtem i teraz? glibc >= 2.6 generuje pliki stref w nowym formacie (ze znacznikiem TZif2 zamiast TZif\0). > > BTW, zgłosiłeś ją do upstreamu? > > > Jeszcze nie. Trzeba przez ichnią bugzillę, czy można jakoś prościej? Można wysłać maila na libc-alpha, ale wtedy jest ryzyko, że zostanie zapomniany. Swoją drogą o tą zmianę zachowania localtime() też by się przydało pomęczyć, nie wiem czy to tak powinno być. -- Jakub Bogusz http://qboosh.pl/ _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
