viernes, 7 de marzo de 2008

Corregir la extension de la CLST (Chile)

Como ya sabrán el gobierno de Chile anunció un paquete de medidas para soportar la crisis de hidro-abastecimiento que pasa nuestro Chilito. Entre las que se cuenta la reducción del voltaje (suministradas por las distribuidoras) hasta en un 10% de la tensión nominal, flexibilizar el uso de los hídro-recursos a partir del 15 de Febrero y la extensión del horario de verano hasta el último sábado de Marzo.

Es ésta última medida la que da trabajo a los administradores de sistemas, ya que los sistemas operativos juran de guata que el cambio va el 8 de Marzo.

$ zdump -v Chile/Continental | grep 2008
Chile/Continental Sun Mar 9 02:59:59 2008 UTC = Sat Mar 8 23:59:59 2008 CLST isdst=1
Chile/Continental Sun Mar 9 03:00:00 2008 UTC = Sat Mar 8 23:00:00 2008 CLT isdst=0
Chile/Continental Sun Oct 12 03:59:59 2008 UTC = Sat Oct 11 23:59:59 2008 CLT isdst=0
Chile/Continental Sun Oct 12 04:00:00 2008 UTC = Sun Oct 12 01:00:00 2008 CLST isdst=1

Entonces lo que hay que hacer es bajar los archivos con las reglas de las zonas horarias, hacer los cambios correspondientes y compilarlas.

# wget ftp://elsie.nci.nih.gov/pub/tzdata2007k.tar.gz
# tar xzvf tzdata2007k.tar.gz
africa
antarctica
asia
australasia
europe
northamerica
southamerica
pacificnew
etcetera
factory
backward
systemv
solar87
solar88
solar89
iso3166.tab
zone.tab
leapseconds
yearistype.sh
# chmod +w southamerica


Aplicamos estos cambios:

--- southamerica 2008-03-07 09:50:53.000000000 -0300
+++ southamerica.new 2008-03-07 09:53:16.000000000 -0300
@@ -789,7 +789,9 @@
Rule Chile 1998 only - Sep 27 4:00u 1:00 S
Rule Chile 1999 only - Apr 4 3:00u 0 -
Rule Chile 1999 max - Oct Sun>=9 4:00u 1:00 S
-Rule Chile 2000 max - Mar Sun>=9 3:00u 0 -
+Rule Chile 2000 2007 - Mar Sun>=9 3:00u 0 -
+Rule Chile 2008 only - Mar 29 3:00u 0 -
+Rule Chile 2009 max - Mar Sun>=9 3:00u 0 -
# IATA SSIM anomalies: (1992-02) says 1992-03-14;
# (1996-09) says 1998-03-08. Ignore these.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]

Compilamos

# zic -l America/Santiago southamerica


Y comprobamos los cambios

# zdump -v America/Santiago |grep 2008
America/Santiago Sat Mar 29 02:59:59 2008 UTC = Fri Mar 28 23:59:59 2008 CLST isdst=1 gmtoff=-10800
America/Santiago Sat Mar 29 03:00:00 2008 UTC = Fri Mar 28 23:00:00 2008 CLT isdst=0 gmtoff=-14400
America/Santiago Sun Oct 12 03:59:59 2008 UTC = Sat Oct 11 23:59:59 2008 CLT isdst=0 gmtoff=-14400
America/Santiago Sun Oct 12 04:00:00 2008 UTC = Sun Oct 12 01:00:00 2008 CLST isdst=1 gmtoff=-10800

Listo !!