#!/usr/bin/perl -w #---------------------------------------------------------------------- # copyright (C) 2001-2005 Mitel Networks Corporation # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #---------------------------------------------------------------------- package esmith; use strict; use Errno; use esmith::ConfigDB; use esmith::templates; my $db = esmith::ConfigDB->open or die "Could not open config db"; # Obtain the TimeZone configuration database value my $timezone = $db->get("TimeZone"); if (defined $timezone) { $timezone = $timezone->value; } else { # Initialise timezone from /etc/sysconfig/clock if not already set if (open(CLOCK, "/etc/sysconfig/clock")) { while() { $timezone = $1 if /^ZONE="(.*)"/; last if defined $timezone; } close(CLOCK) or warn("Could not close CLOCK: $!"); } else { warn("Could not open /etc/sysconfig/clock: $!"); } # If all else fails ... $timezone = "US/Eastern" unless defined $timezone; $db->new_record('TimeZone')->set_value($timezone); } # Undo the previous symlink and remake it to the correct time zone unlink "/etc/localtime"; symlink "../usr/share/zoneinfo/$timezone", "/etc/localtime"; # Process the template for /etc/sysconfig/clock processTemplate ({TEMPLATE_PATH => "/etc/sysconfig/clock"}); exit (0);