Updating Linux systems for 2007 Daylight Savings Time changes.

This works on most systems. First download the updated DST packages:
wget 'ftp://elsie.nci.nih.gov/pub/tz*.tar.gz'

Extract and compile the utilities:

tar -zxvvf tzco*
tar -zxvvf tzda*
make

Now compile the data:

mkdir temp
./zic -d temp northamerica

Verify the new data file is correct:

./zdump -v temp/EST5EDT | grep 2007
/etc/localtime Sun Mar 11 06:59:59 2007 UTC = Sun Mar 11 01:59:59 2007 EST isdst=0
/etc/localtime Sun Mar 11 07:00:00 2007 UTC = Sun Mar 11 03:00:00 2007 EDT isdst=1
/etc/localtime Sun Nov 4 05:59:59 2007 UTC = Sun Nov 4 01:59:59 2007 EDT isdst=1
/etc/localtime Sun Nov 4 06:00:00 2007 UTC = Sun Nov 4 01:00:00 2007 EST isdst=0

Verify your old settings really are incorrect:

./zdump -v /etc/localtime | grep 2007
/etc/localtime.old Sun Apr 1 06:59:59 2007 UTC = Sun Apr 1 01:59:59 2007 EST isdst=0
/etc/localtime.old Sun Apr 1 07:00:00 2007 UTC = Sun Apr 1 03:00:00 2007 EDT isdst=1
/etc/localtime.old Sun Oct 28 05:59:59 2007 UTC = Sun Oct 28 01:59:59 2007 EDT isdst=1
/etc/localtime.old Sun Oct 28 06:00:00 2007 UTC = Sun Oct 28 01:00:00 2007 EST isdst=0

Now install the new file:

cd /etc
mv localtime localtime.old
cp ~/asdf/temp/EST5EDT localtime
#Verify correct installation:
./zdump -v /etc/localtime | grep 2007
/etc/localtime Sun Mar 11 06:59:59 2007 UTC = Sun Mar 11 01:59:59 2007 EST isdst=0
/etc/localtime Sun Mar 11 07:00:00 2007 UTC = Sun Mar 11 03:00:00 2007 EDT isdst=1
/etc/localtime Sun Nov 4 05:59:59 2007 UTC = Sun Nov 4 01:59:59 2007 EDT isdst=1
/etc/localtime Sun Nov 4 06:00:00 2007 UTC = Sun Nov 4 01:00:00 2007 EST isdst=0

Note, for some reason zdump will give incorrect output if you are in the same directory as the file you’re attempting to dump. For example “zdump -v localtime | grep 2007” won’t return anything. I also ran into some cases where specifying the path to the file as temp/EST5EDT didn’t work either, so try to always specify the full path to the file: “zdump -v /etc/loclaltime …”.