/[smeserver]/cdrom.image/updates/smeupgradeclass.py
ViewVC logotype

Contents of /cdrom.image/updates/smeupgradeclass.py

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.6 - (show annotations) (download) (as text)
Fri Oct 7 20:55:54 2005 UTC (18 years, 8 months ago) by gordonr
Branch: MAIN
Changes since 1.5: +1 -5 lines
Content type: text/x-python
Put back Beta5 changes

1 from installclass import BaseInstallClass
2 from rhpl.translate import N_, _
3 from rhpl.log import log
4 from constants import *
5
6 import os
7 import string
8 import iutil
9 import security
10
11 class Script:
12 def __repr__(self):
13 str = ("(s: '%s' i: %s c: %d)") % \
14 (self.script, self.interp, self.inChroot)
15 return string.replace(str, "\n", "|")
16
17 def __init__(self, script, interp, inChroot, logfile = None):
18 self.script = script
19 self.interp = interp
20 self.inChroot = inChroot
21 self.logfile = logfile
22
23 def run(self, chroot, serial):
24 scriptRoot = "/"
25 if self.inChroot:
26 scriptRoot = chroot
27
28 path = scriptRoot + "/tmp/sme-script"
29
30 f = open(path, "w")
31 f.write(self.script)
32 f.close()
33 os.chmod(path, 0700)
34
35 if self.logfile is not None:
36 messages = self.logfile
37 elif serial:
38 messages = "/tmp/sme-script.log"
39 else:
40 messages = "/dev/tty3"
41
42 rc = iutil.execWithRedirect(self.interp,
43 [self.interp,"/tmp/sme-script"],
44 stdout = messages, stderr = messages,
45 root = scriptRoot)
46
47 if rc != 0:
48 log("WARNING - Error code %s encountered running a sme script", rc)
49
50 os.unlink(path)
51
52 class InstallClass(BaseInstallClass):
53 name = N_("Upgrade Existing System")
54 pixmap = "upgrade.png"
55 sortPriority = 999999
56
57 parentClass = ( _("Upgrade"), "upgrade.png" )
58
59 def requiredDisplayMode(self):
60 return 't'
61
62 def setSteps(self, dispatch):
63 dispatch.setStepList(
64 "language",
65 "keyboard",
66 "findrootparts",
67 "findinstall",
68 "installtype",
69 "partitionobjinit",
70 "upgrademount",
71 "upgrademigfind",
72 "upgrademigratefs",
73 "upgradecontinue",
74 "bootloadersetup",
75 "readcomps",
76 "findpackages",
77 "checkdeps",
78 "dependencies",
79 "install",
80 "migratefilesystems",
81 "preinstallconfig",
82 "installpackages",
83 "postinstallconfig",
84 "instbootloader",
85 "dopostaction",
86 "methodcomplete",
87 "copylogs",
88 "complete"
89 )
90
91 def postAction(self, rootPath, serial):
92 script = ( "/sbin/syslogd &\n"
93 "sleep 2\n"
94 "/sbin/e-smith/signal-event post-upgrade\n" )
95 s = Script(script, interp="/bin/sh", inChroot=1)
96 log("%s", s)
97 s.run(rootPath, serial)
98
99 def setInstallData(self, id):
100 BaseInstallClass.setInstallData(self, id)
101 id.upgrade.set(1)
102
103 def __init__(self, expert):
104 BaseInstallClass.__init__(self, expert)

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed