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 > Redhat > Device-mapper Development

 
 
LinkBack Thread Tools
 
Old 03-10-2010, 11:38 AM
Ales Kozumplik
 
Default Pick up system's clock settings on upgrade. (#570299)

Including timezone and UTC through /etc/adjtime.
---
dispatch.py | 2 ++
upgrade.py | 41 ++++++++++++++++++++++++++++++++++++++++-
2 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/dispatch.py b/dispatch.py
index 5bcaab9..a4029d9 100644
--- a/dispatch.py
+++ b/dispatch.py
@@ -36,6 +36,7 @@ from storage.partitioning import doAutoPartition
from bootloader import writeBootloader, bootloaderSetupChoices
from flags import flags
from upgrade import upgradeMountFilesystems
+from upgrade import upgradeSetupTime
from upgrade import upgradeSwapSuggestion, upgradeMigrateFind
from upgrade import findRootParts, queryUpgradeContinue
from installmethod import doMethodComplete
@@ -83,6 +84,7 @@ installSteps = [
("autopartitionexecute", doAutoPartition, ),
("partition", ),
("upgrademount", upgradeMountFilesystems, ),
+ ("upgradesetuptime", upgradeSetupTime, ),
("upgradecontinue", queryUpgradeContinue, ),
("upgradeswapsuggestion", upgradeSwapSuggestion, ),
("addswap", ),
diff --git a/upgrade.py b/upgrade.py
index 438407a..bff2ad0 100644
--- a/upgrade.py
+++ b/upgrade.py
@@ -107,7 +107,45 @@ def upgradeMigrateFind(anaconda):
anaconda.dispatch.skipStep("upgrademigratefs")
else:
anaconda.dispatch.skipStep("upgrademigratefs", skip = 0)
-
+
+def copyFromSysimage(rootPath, filename):
+ """Mirrors filename from the sysimage on the ramdisk."""
+ sysfile = os.path.normpath("%s/%s" % (rootPath, filename))
+ if os.access(sysfile, os.R_OK):
+ try:
+ # remove our copy if we have one (think liveinstall)
+ os.remove(filename)
+ except OSError:
+ pass
+ try:
+ shutil.copyfile(sysfile, filename)
+ except OSError as e:
+ log.error("Error copying %s to sysimage: %s" %(sysfile, e.strerror))
+ return False
+ else:
+ log.error("Error copying %s to sysimage, file not accessible." % sysfile)
+ return False
+ return True
+
+def upgradeSetupTime(anaconda):
+ """Load time setup for upgrade install.
+
+ This is pretty much what packages.setupTimezone() does in reverse.
+ """
+ if anaconda.dir == DISPATCH_BACK:
+ return
+ if os.environ.has_key("TZ"):
+ del os.environ["TZ"]
+ copyFromSysimage(anaconda.rootPath, '/etc/localtime')
+ copyFromSysimage(anaconda.rootPath, '/etc/adjtime')
+ if iutil.isS390():
+ return
+ args = [ "--hctosys" ]
+ try:
+ iutil.execWithRedirect("/usr/sbin/hwclock", args,stdout = "/dev/tty5",
+ stderr = "/dev/tty5")
+ except RuntimeError:
+ log.error("Failed to set the clock.")

# returns None if no more swap is needed
def upgradeSwapSuggestion(anaconda):
@@ -271,6 +309,7 @@ def setSteps(anaconda):
"findrootparts",
"findinstall",
"upgrademount",
+ "upgradesetuptime",
"upgrademigfind",
"upgrademigratefs",
"enablefilesystems",
--
1.6.6

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 
Old 03-10-2010, 11:52 AM
Hans de Goede
 
Default Pick up system's clock settings on upgrade. (#570299)

Looks good to me, but I think it would be good for
someone who is more familiar with the dispatch mechanism
to look at this.

On 03/10/2010 01:38 PM, Ales Kozumplik wrote:

Including timezone and UTC through /etc/adjtime.
---
dispatch.py | 2 ++
upgrade.py | 41 ++++++++++++++++++++++++++++++++++++++++-
2 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/dispatch.py b/dispatch.py
index 5bcaab9..a4029d9 100644
--- a/dispatch.py
+++ b/dispatch.py
@@ -36,6 +36,7 @@ from storage.partitioning import doAutoPartition
from bootloader import writeBootloader, bootloaderSetupChoices
from flags import flags
from upgrade import upgradeMountFilesystems
+from upgrade import upgradeSetupTime
from upgrade import upgradeSwapSuggestion, upgradeMigrateFind
from upgrade import findRootParts, queryUpgradeContinue
from installmethod import doMethodComplete
@@ -83,6 +84,7 @@ installSteps = [
("autopartitionexecute", doAutoPartition, ),
("partition", ),
("upgrademount", upgradeMountFilesystems, ),
+ ("upgradesetuptime", upgradeSetupTime, ),
("upgradecontinue", queryUpgradeContinue, ),
("upgradeswapsuggestion", upgradeSwapSuggestion, ),
("addswap", ),
diff --git a/upgrade.py b/upgrade.py
index 438407a..bff2ad0 100644
--- a/upgrade.py
+++ b/upgrade.py
@@ -107,7 +107,45 @@ def upgradeMigrateFind(anaconda):
anaconda.dispatch.skipStep("upgrademigratefs")
else:
anaconda.dispatch.skipStep("upgrademigratefs", skip = 0)
-
+
+def copyFromSysimage(rootPath, filename):
+ """Mirrors filename from the sysimage on the ramdisk."""
+ sysfile = os.path.normpath("%s/%s" % (rootPath, filename))
+ if os.access(sysfile, os.R_OK):
+ try:
+ # remove our copy if we have one (think liveinstall)
+ os.remove(filename)
+ except OSError:
+ pass
+ try:
+ shutil.copyfile(sysfile, filename)
+ except OSError as e:
+ log.error("Error copying %s to sysimage: %s" %(sysfile, e.strerror))
+ return False
+ else:
+ log.error("Error copying %s to sysimage, file not accessible." % sysfile)
+ return False
+ return True
+
+def upgradeSetupTime(anaconda):
+ """Load time setup for upgrade install.
+
+ This is pretty much what packages.setupTimezone() does in reverse.
+ """
+ if anaconda.dir == DISPATCH_BACK:
+ return
+ if os.environ.has_key("TZ"):
+ del os.environ["TZ"]
+ copyFromSysimage(anaconda.rootPath, '/etc/localtime')
+ copyFromSysimage(anaconda.rootPath, '/etc/adjtime')
+ if iutil.isS390():
+ return
+ args = [ "--hctosys" ]
+ try:
+ iutil.execWithRedirect("/usr/sbin/hwclock", args,stdout = "/dev/tty5",
+ stderr = "/dev/tty5")
+ except RuntimeError:
+ log.error("Failed to set the clock.")

# returns None if no more swap is needed
def upgradeSwapSuggestion(anaconda):
@@ -271,6 +309,7 @@ def setSteps(anaconda):
"findrootparts",
"findinstall",
"upgrademount",
+ "upgradesetuptime",
"upgrademigfind",
"upgrademigratefs",
"enablefilesystems",


_______________________________________________
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 07:09 AM.

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