FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian User

 
 
LinkBack Thread Tools
 
Old 02-04-2008, 07:56 PM
Bill Nottingham
 
Default change config file used for hwclock-is-UTC setting

So, ever since the dawn of time, hwclock has written whether the
system's hardware clock is in UTC or not to /etc/adjtime whenever
it saves the hardware clock, and reads that file whenever it
restores it.

Given that, it seems odd that we've been maintaining that state
in a separate file all this time. The following patches to
anaconda and system-config-date stop doing that.

While they are there, they also nuke the arc stuff, because
1) if hwclock doesn't support figuring that out automatically,
it should
2) the current Alpha ports of Fedora don't support any ARC console
machines any more, in any case

Bill
diff --git a/installclass.py b/installclass.py
index 68a7e37..e9fcbe5 100644
--- a/installclass.py
+++ b/installclass.py
@@ -263,8 +263,8 @@ class BaseInstallClass(object):
def setGateway(self, id, gateway):
id.network.setGateway(gateway)

- def setTimezoneInfo(self, id, timezone, asUtc = 0, asArc = 0):
- id.timezone.setTimezoneInfo(timezone, asUtc, asArc)
+ def setTimezoneInfo(self, id, timezone, asUtc = 0):
+ id.timezone.setTimezoneInfo(timezone, asUtc)

def setAuthentication(self, id, authStr):
id.auth = authStr
diff --git a/timezone.py b/timezone.py
index c58736c..dc3d2f6 100644
--- a/timezone.py
+++ b/timezone.py
@@ -51,20 +51,31 @@ class Timezone:
f = open(instPath + "/etc/sysconfig/clock", "w")

f.write('ZONE="%s"
' % self.tz)
- f.write("UTC=%s
" % bool(self.utc))
- f.write("ARC=%s
" % bool(self.arc))
+ f.close()
+
+ try:
+ f = open(instPath + "/etc/adjtime", "r")
+ lines = f.readlines()
+ f.close()
+ except:
+ lines = [ "0.0 0 0.0
", "0
" ]

+ f = open(instPath + "/etc/adjtime", "w")
+ f.write(lines[0])
+ f.write(lines[1])
+ if self.utc:
+ f.write("UTC
")
+ else:
+ f.write("LOCAL
")
f.close()

def getTimezoneInfo(self):
- return (self.tz, self.utc, self.arc)
+ return (self.tz, self.utc)

- def setTimezoneInfo(self, timezone, asUtc = 0, asArc = 0):
+ def setTimezoneInfo(self, timezone, asUtc = 0):
self.tz = timezone
self.utc = asUtc
- self.arc = asArc

def __init__(self):
self.tz = "America/New_York"
self.utc = 0
- self.arc = 0
diff -ru system-config-date-1.9.21/src/scdMainWindow.py system-config-date-1.9.21-new/src/scdMainWindow.py
--- system-config-date-1.9.21/src/scdMainWindow.py 2008-01-18 11:29:17.000000000 -0500
+++ system-config-date-1.9.21-new/src/scdMainWindow.py 2008-02-04 15:42:33.000000000 -0500
@@ -195,11 +195,11 @@

# Get the time zone info from the time zone page
if "timezone" in self.showPages:
- timezone, utc, arc = self.timezonePage.getTimezoneInfo ()
+ timezone, utc = self.timezonePage.getTimezoneInfo ()
else:
- timezone, utc, arc = self.timezoneBackend.getTimezoneInfo ()
+ timezone, utc = self.timezoneBackend.getTimezoneInfo ()

- self.timezoneBackend.writeConfig (timezone, utc, arc)
+ self.timezoneBackend.writeConfig (timezone, utc)

if self.closeParent == True and not self.firstboot:
if gtk.__dict__.has_key ("main_quit"):
diff -ru system-config-date-1.9.21/src/timeconfig.py system-config-date-1.9.21-new/src/timeconfig.py
--- system-config-date-1.9.21/src/timeconfig.py 2008-01-18 11:29:17.000000000 -0500
+++ system-config-date-1.9.21-new/src/timeconfig.py 2008-02-04 15:42:17.000000000 -0500
@@ -39,7 +39,7 @@
class TimezoneWindow:
def __call__(self, screen, zonetab, timezoneBackend):
self.timezone = timezoneBackend.getTimezoneInfo()
- self.default, self.asUTC, self.asArc = self.timezone
+ self.default, self.asUTC = self.timezone

bb = ButtonBar(screen, [_("OK"), _("Cancel")])
t = TextboxReflowed(40,
@@ -90,8 +90,8 @@

def runConfig(rc):
timezone, utc = rc
- default, asUTC, asArc = timezoneBackend.getTimezoneInfo()
- timezoneBackend.writeConfig(timezone, utc, asArc)
+ default, asUTC = timezoneBackend.getTimezoneInfo()
+ timezoneBackend.writeConfig(timezone, utc)

if os.getuid() > 0 or os.geteuid() > 0:
print _("You must be root to run timeconfig.")
diff -ru system-config-date-1.9.21/src/timezoneBackend.py system-config-date-1.9.21-new/src/timezoneBackend.py
--- system-config-date-1.9.21/src/timezoneBackend.py 2008-01-18 11:29:17.000000000 -0500
+++ system-config-date-1.9.21-new/src/timezoneBackend.py 2008-02-04 15:46:48.000000000 -0500
@@ -42,7 +42,7 @@
return "false"

class timezoneBackend:
- def writeConfig (self, timezone, utc=0, arc=0):
+ def writeConfig (self, timezone, utc=0):
timezonefile = timezone.replace (' ', '_')
fromFile = "/usr/share/zoneinfo/" + timezonefile

@@ -51,12 +51,6 @@
else:
utc = "true"

- if arc != "false":
- if arc != 0:
- arc = "true"
- else:
- arc = "false"
-
try:
shutil.copyfile(fromFile, "/etc/localtime")
except OSError, (errno, msg):
@@ -90,12 +84,20 @@
f.write('# The ZONE parameter is only evaluated by system-config-date.
')
f.write('# The time zone of the system is defined by the contents of /etc/localtime.
')
f.write('ZONE="%s"
' % timezone)
- f.write("UTC=%s
" % utc)
- f.write("ARC=%s
" % arc)
f.close()
-
- f = open("/etc/sysconfig/clock", "r")
- tmp = f.read()
+
+ f = open("/etc/adjtime", "r")
+ l = f.readlines()
+ f.close()
+
+ f = open("/etc/adjtime", "w")
+ f.write(l[0])
+ f.write(l[1])
+ if utc == 'true':
+ f.write("UTC
")
+ else:
+ f.write("LOCAL
")
+ f.close()

def copyFile(self, source, to):
f = os.open(source, os.O_RDONLY)
@@ -114,17 +116,15 @@
os.close(t)

def getTimezoneInfo (self):
- return (self.tz, self.utc, self.arc)
+ return (self.tz, self.utc)

- def setTimezoneInfo (self, timezone, asUtc = 0, asArc = 0):
+ def setTimezoneInfo (self, timezone, asUtc = 0):
self.tz = timezone
self.utc = asUtc
- self.arc = asArc

def __init__(self):
self.tz = "America/New_York"
self.utc = "false"
- self.arc = "false"
path = '/etc/sysconfig/clock'
lines = []

@@ -147,14 +147,16 @@
tokens = string.split(line, "=")
if tokens[0] == "ZONE":
self.tz = string.replace(tokens[1], '"', ')
- if tokens[0] == "UTC":
- self.utc = tokens[1]
- if tokens[0] == "ARC":
- if string.lower(tokens[1]) == "true":
- self.arc = tokens[1]
- else:
- self.arc = "false"
except:
pass
except:
pass
+ if os.access("/etc/adjtime", os.R_OK):
+ fd = open("/etc/adjtime", 'r')
+ lines = fd.readlines()
+ fd.close()
+ line = lines[2].strip()
+ if line == 'UTC':
+ self.utc = 'true'
+ else:
+ self.utc = 'false'
diff -ru system-config-date-1.9.21/src/timezone_gui.py system-config-date-1.9.21-new/src/timezone_gui.py
--- system-config-date-1.9.21/src/timezone_gui.py 2008-01-18 11:29:17.000000000 -0500
+++ system-config-date-1.9.21-new/src/timezone_gui.py 2008-02-04 15:43:16.000000000 -0500
@@ -58,7 +58,7 @@
self.xml = xml
self.mainVBox = self.xml.get_widget ("tz_vbox")
self.timezone = scdMainWindow.timezoneBackend.getTimezoneInfo()
- self.default, self.asUTC, self.asArc = self.timezone
+ self.default, self.asUTC = self.timezone

self.tz = self.xml.get_widget ("tz")

@@ -76,4 +76,4 @@
return self.mainVBox

def getTimezoneInfo(self):
- return self.tz.getCurrent().tz, self.utcCheck.get_active(), self.asArc
+ return self.tz.getCurrent().tz, self.utcCheck.get_active()
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 
Old 02-04-2008, 08:25 PM
Jeremy Katz
 
Default change config file used for hwclock-is-UTC setting

On Mon, 2008-02-04 at 15:56 -0500, Bill Nottingham wrote:
> So, ever since the dawn of time, hwclock has written whether the
> system's hardware clock is in UTC or not to /etc/adjtime whenever
> it saves the hardware clock, and reads that file whenever it
> restores it.
>
> Given that, it seems odd that we've been maintaining that state
> in a separate file all this time. The following patches to
> anaconda and system-config-date stop doing that.

Seems fine. Although the format of /etc/adjtime makes me want to cry a
little inside ;-)

Jeremy

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 
Old 02-11-2008, 05:36 PM
Bill Nottingham
 
Default change config file used for hwclock-is-UTC setting

Jeremy Katz (katzj@redhat.com) said:
> On Mon, 2008-02-04 at 15:56 -0500, Bill Nottingham wrote:
> > So, ever since the dawn of time, hwclock has written whether the
> > system's hardware clock is in UTC or not to /etc/adjtime whenever
> > it saves the hardware clock, and reads that file whenever it
> > restores it.
> >
> > Given that, it seems odd that we've been maintaining that state
> > in a separate file all this time. The following patches to
> > anaconda and system-config-date stop doing that.
>
> Seems fine. Although the format of /etc/adjtime makes me want to cry a
> little inside ;-)

Pushed.

Bill

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 

Thread Tools




All times are GMT. The time now is 05:12 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org