Tuesday, July 26, 2011

Modifying Mac OS-X and Linux for Fiji Dailight savings

Fiji is introducing daylight saving this year. However, while there are fixes in upcoming Operating Systems releases, they will not make it in time. So you have to do the job manualy.

It is rather easy.

  1. Start a shell/command line/terminal on mac or linux.
  2. become root by issuing sudo su -
  3. create directory called tz: mkdir tz
  4. move in the directory: cd tz
  5. download the updated zone data:
    1. on linux: wget ftp://elsie.nci.nih.gov/pub/tzdata2009s.tar.gz
    2. on mac: curl -v ftp://elsie.nci.nih.gov/pub/tzdata2009s.tar.gz -o tzdata2009s.tar.gz
  6. unpack the file: tar xvfz tzdata2009s.tar.gz
  7. recompile timezone data
    1. linux: zic australasia
    2. mac: zic -g root -m 0644 -u root australasia
  8. some linux systems requires you to copy /usr/share/zoneinfo/Pacfic/Fiji to /etc/localtime if there is no symlink there already.

That's it!

You can check the difference before and after by typing zdump -v Pacific/Fiji

Before (on linux):
Pacific/Fiji  Fri Dec 13 20:45:52 1901 UTC = Sat Dec 14 08:39:32 1901 FJT isdst=0 gmtoff=42820
Pacific/Fiji  Sat Dec 14 20:45:52 1901 UTC = Sun Dec 15 08:39:32 1901 FJT isdst=0 gmtoff=42820
Pacific/Fiji  Mon Oct 25 12:06:19 1915 UTC = Mon Oct 25 23:59:59 1915 FJT isdst=0 gmtoff=42820
Pacific/Fiji  Mon Oct 25 12:06:20 1915 UTC = Tue Oct 26 00:06:20 1915 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Sat Oct 31 13:59:59 1998 UTC = Sun Nov  1 01:59:59 1998 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Sat Oct 31 14:00:00 1998 UTC = Sun Nov  1 03:00:00 1998 FJST isdst=1 gmtoff=46800
Pacific/Fiji  Sat Feb 27 13:59:59 1999 UTC = Sun Feb 28 02:59:59 1999 FJST isdst=1 gmtoff=46800
Pacific/Fiji  Sat Feb 27 14:00:00 1999 UTC = Sun Feb 28 02:00:00 1999 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Sat Nov  6 13:59:59 1999 UTC = Sun Nov  7 01:59:59 1999 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Sat Nov  6 14:00:00 1999 UTC = Sun Nov  7 03:00:00 1999 FJST isdst=1 gmtoff=46800
Pacific/Fiji  Sat Feb 26 13:59:59 2000 UTC = Sun Feb 27 02:59:59 2000 FJST isdst=1 gmtoff=46800
Pacific/Fiji  Sat Feb 26 14:00:00 2000 UTC = Sun Feb 27 02:00:00 2000 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 15:14:07 2038 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 15:14:07 2038 FJT isdst=0 gmtoff=43200


After(on linux):
Pacific/Fiji  Fri Dec 13 20:45:52 1901 UTC = Sat Dec 14 08:39:32 1901 FJT isdst=0 gmtoff=42820
Pacific/Fiji  Sat Dec 14 20:45:52 1901 UTC = Sun Dec 15 08:39:32 1901 FJT isdst=0 gmtoff=42820
Pacific/Fiji  Mon Oct 25 12:06:19 1915 UTC = Mon Oct 25 23:59:59 1915 FJT isdst=0 gmtoff=42820
Pacific/Fiji  Mon Oct 25 12:06:20 1915 UTC = Tue Oct 26 00:06:20 1915 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Sat Oct 31 13:59:59 1998 UTC = Sun Nov  1 01:59:59 1998 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Sat Oct 31 14:00:00 1998 UTC = Sun Nov  1 03:00:00 1998 FJST isdst=1 gmtoff=46800
Pacific/Fiji  Sat Feb 27 13:59:59 1999 UTC = Sun Feb 28 02:59:59 1999 FJST isdst=1 gmtoff=46800
Pacific/Fiji  Sat Feb 27 14:00:00 1999 UTC = Sun Feb 28 02:00:00 1999 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Sat Nov  6 13:59:59 1999 UTC = Sun Nov  7 01:59:59 1999 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Sat Nov  6 14:00:00 1999 UTC = Sun Nov  7 03:00:00 1999 FJST isdst=1 gmtoff=46800
Pacific/Fiji  Sat Feb 26 13:59:59 2000 UTC = Sun Feb 27 02:59:59 2000 FJST isdst=1 gmtoff=46800
Pacific/Fiji  Sat Feb 26 14:00:00 2000 UTC = Sun Feb 27 02:00:00 2000 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Sat Nov 28 13:59:59 2009 UTC = Sun Nov 29 01:59:59 2009 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Sat Nov 28 14:00:00 2009 UTC = Sun Nov 29 03:00:00 2009 FJST isdst=1 gmtoff=46800
Pacific/Fiji  Sat Apr 24 13:59:59 2010 UTC = Sun Apr 25 02:59:59 2010 FJST isdst=1 gmtoff=46800
Pacific/Fiji  Sat Apr 24 14:00:00 2010 UTC = Sun Apr 25 02:00:00 2010 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Mon Jan 18 03:14:07 2038 UTC = Mon Jan 18 15:14:07 2038 FJT isdst=0 gmtoff=43200
Pacific/Fiji  Tue Jan 19 03:14:07 2038 UTC = Tue Jan 19 15:14:07 2038 FJT isdst=0 gmtoff=43200

No comments:

Post a Comment