1 |
--- anaconda-10.1.1.103/textw/installpath_text.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
2 |
+++ anaconda-10.1.1.103/textw/installpath_text.py 2009-08-24 09:43:44.000000000 -0600 |
3 |
@@ -45,12 +45,12 @@ |
4 |
if orig != None: |
5 |
default = orig |
6 |
|
7 |
- (button, choice) = ListboxChoiceWindow(screen, _("Installation Type"), |
8 |
- _("What type of system would you like to install?"), |
9 |
- choices, [TEXT_OK_BUTTON, TEXT_BACK_BUTTON], |
10 |
- width = 40, default = default, help = "installpath") |
11 |
+ choice = default |
12 |
+ rc = intf.messageWindow(_("Warning"), |
13 |
+ _("All disks will be reformatted and any data will be lost. Proceed?"), |
14 |
+ type = "yesno", default = "no") |
15 |
|
16 |
- if button == TEXT_BACK_CHECK: |
17 |
+ if rc == 0: |
18 |
return INSTALL_BACK |
19 |
|
20 |
if (choice != orig): |
21 |
--- anaconda-10.1.1.103/textw/language_text.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
22 |
+++ anaconda-10.1.1.103/textw/language_text.py 2009-08-24 09:43:44.000000000 -0600 |
23 |
@@ -91,85 +91,12 @@ |
24 |
|
25 |
class LanguageSupportWindow: |
26 |
def __call__(self, screen, language): |
27 |
- |
28 |
- # should already be sorted |
29 |
- ct = CheckboxTree(height = 8, scroll = 1) |
30 |
- |
31 |
- for lang in language.getAllSupported(): |
32 |
- ct.append(lang, lang, 0) |
33 |
- |
34 |
- for lang in language.getSupported (): |
35 |
- ct.setEntryValue(lang, 1) |
36 |
- |
37 |
- current = language.getDefault() |
38 |
- ct.setCurrent(current) |
39 |
- ct.setEntryValue(current, 1) |
40 |
- |
41 |
- bb = ButtonBar (screen, (TEXT_OK_BUTTON, (_("Select All"), "all"), (_("Reset"), "reset"), TEXT_BACK_BUTTON)) |
42 |
- |
43 |
- message = (_("Choose additional languages that you would like to use " |
44 |
- "on this system:")) |
45 |
- tb = TextboxReflowed(50, message) |
46 |
- |
47 |
- g = GridFormHelp (screen, _("Language Support"), "langsupport", 1, 4) |
48 |
- |
49 |
- g.add (tb, 0, 0, (0, 0, 0, 1), anchorLeft = 1) |
50 |
- g.add (ct, 0, 1, (0, 0, 0, 1)) |
51 |
- g.add (bb, 0, 3, growx = 1) |
52 |
- |
53 |
- while 1: |
54 |
- result = g.run() |
55 |
- |
56 |
- rc = bb.buttonPressed (result) |
57 |
- |
58 |
- if rc == TEXT_BACK_CHECK: |
59 |
- screen.popWindow() |
60 |
- return INSTALL_BACK |
61 |
- |
62 |
- if rc == "all": |
63 |
- for lang in language.getAllSupported(): |
64 |
- ct.setEntryValue(lang, 1) |
65 |
- |
66 |
- if rc == "reset": |
67 |
- for lang in language.getAllSupported(): |
68 |
- if lang == current: |
69 |
- ct.setEntryValue(lang, 1) |
70 |
- else: |
71 |
- ct.setEntryValue(lang, 0) |
72 |
- |
73 |
- if rc == TEXT_OK_CHECK or result == TEXT_F12_CHECK: |
74 |
- # --If they selected all langs, then set language.setSupported to |
75 |
- # None. This installs all langs |
76 |
- |
77 |
- if ct.getSelection() == []: |
78 |
- ButtonChoiceWindow(screen, _("Invalid Choice"), |
79 |
- _("You must select at least one language to install."), |
80 |
- buttons = [ TEXT_OK_BUTTON ], width = 40) |
81 |
- |
82 |
- else: |
83 |
- # set selected langs once |
84 |
- language.setSupported (ct.getSelection()) |
85 |
- |
86 |
- # we may need to reset the default language |
87 |
- default = language.getDefault() |
88 |
- if default not in ct.getSelection(): |
89 |
- sellangs = language.getSupported() |
90 |
- |
91 |
- if len(sellangs) > 0: |
92 |
- language.setDefault(sellangs[0]) |
93 |
- else: |
94 |
- language.setDefault(None) |
95 |
- |
96 |
- else: |
97 |
- language.setDefault(default) |
98 |
- |
99 |
- # now set new selected langs again in case old default |
100 |
- # lang was left in the list before we switched the default |
101 |
- language.setSupported (ct.getSelection()) |
102 |
- |
103 |
- screen.popWindow() |
104 |
- return INSTALL_OK |
105 |
- |
106 |
+ langs = [] |
107 |
+ default = language.getDefault() |
108 |
+ langs.append(default) |
109 |
+ language.setSupported(langs) |
110 |
+ language.setDefault(default) |
111 |
+ return INSTALL_OK |
112 |
|
113 |
class LanguageDefaultWindow: |
114 |
def __call__(self,screen, language): |
115 |
--- anaconda-10.1.1.103/textw/progress_text.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
116 |
+++ anaconda-10.1.1.103/textw/progress_text.py 2009-08-24 09:43:44.000000000 -0600 |
117 |
@@ -103,8 +103,8 @@ |
118 |
|
119 |
currow = 0 |
120 |
|
121 |
- width = 47 + max (len (name), len (size), len (sum)) |
122 |
- self.name = Label(" " * 48) |
123 |
+ width = 60 + max (len (name), len (size), len (sum)) |
124 |
+ self.name = Label(" " * 59) |
125 |
self.size = Label(" ") |
126 |
detail = Grid(2, 2) |
127 |
detail.setField(Label(name), 0, 0, anchorLeft = 1) |
128 |
--- anaconda-10.1.1.103/textw/timezone_text.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
129 |
+++ anaconda-10.1.1.103/textw/timezone_text.py 2009-08-24 09:43:44.000000000 -0600 |
130 |
@@ -48,8 +48,7 @@ |
131 |
args = [ "/usr/sbin/hwclock" ] |
132 |
|
133 |
args.append("--hctosys") |
134 |
- if self.c.selected(): |
135 |
- args.append("--utc") |
136 |
+ args.append("--utc") |
137 |
|
138 |
iutil.execWithRedirect(args[0], args) |
139 |
self.g.setTimer(500) |
140 |
@@ -91,14 +90,12 @@ |
141 |
self.l.setCurrent(default) |
142 |
# self.l.setCallback(self.updateClock) |
143 |
|
144 |
- self.c = Checkbox("System clock uses UTC", isOn = asUtc) |
145 |
# self.c.setCallback(self.updateSysClock) |
146 |
|
147 |
self.g = GridFormHelp(screen, _("Time Zone Selection"), "timezone", |
148 |
1, 5) |
149 |
self.g.add(t, 0, 0) |
150 |
# self.g.add(self.label, 0, 1, padding = (0, 1, 0, 0), anchorLeft = 1) |
151 |
- self.g.add(self.c, 0, 2, padding = (0, 1, 0, 1), anchorLeft = 1) |
152 |
self.g.add(self.l, 0, 3, padding = (0, 0, 0, 1)) |
153 |
self.g.add(bb, 0, 4, growx = 1) |
154 |
|
155 |
@@ -126,7 +123,7 @@ |
156 |
break |
157 |
|
158 |
screen.popWindow() |
159 |
- timezone.setTimezoneInfo(self.l.current(), asUtc = self.c.selected()) |
160 |
+ timezone.setTimezoneInfo(self.l.current(), asUtc = 1) |
161 |
|
162 |
return INSTALL_OK |
163 |
|
164 |
--- anaconda-10.1.1.103/textw/upgrade_text.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
165 |
+++ anaconda-10.1.1.103/textw/upgrade_text.py 2009-08-24 09:43:44.000000000 -0600 |
166 |
@@ -20,8 +20,8 @@ |
167 |
from fsset import * |
168 |
from flags import flags |
169 |
from constants import * |
170 |
-import upgradeclass |
171 |
-UpgradeClass = upgradeclass.InstallClass |
172 |
+import smeupgradeclass |
173 |
+UpgradeClass = smeupgradeclass.InstallClass |
174 |
|
175 |
from rhpl.log import log |
176 |
from rhpl.translate import _ |
177 |
@@ -196,26 +196,19 @@ |
178 |
else: |
179 |
scroll = 0 |
180 |
partList = [] |
181 |
- partList.append(_("Reinstall System")) |
182 |
+ partList.append(_("Erase ALL disks, and perform a fresh install")) |
183 |
|
184 |
for (drive, fs, desc) in parts: |
185 |
- if drive[:5] != "/dev/": |
186 |
- devname = "/dev/" + drive |
187 |
- else: |
188 |
- devname = drive |
189 |
- partList.append("%s (%s)" %(desc, drive)) |
190 |
+ partList.append(_("Upgrade existing \"%s\" system") %(desc)) |
191 |
|
192 |
(button, choice) = ListboxChoiceWindow(screen, _("System to Upgrade"), |
193 |
- _("One or more existing Linux installations " |
194 |
- "have been found " |
195 |
- "on your system.\n\nPlease choose one to upgrade, " |
196 |
- "or select 'Reinstall System' to freshly install " |
197 |
- "your system."), partList, |
198 |
+ _("Your system is upgradeable."), partList, |
199 |
[ TEXT_OK_BUTTON, |
200 |
TEXT_BACK_BUTTON ], |
201 |
width = 55, scroll = scroll, |
202 |
height = height, |
203 |
- help = "upgraderoot") |
204 |
+ help = "upgraderoot", |
205 |
+ default = 1) |
206 |
|
207 |
if button == TEXT_BACK_CHECK: |
208 |
return INSTALL_BACK |
209 |
--- anaconda-10.1.1.103/fsset.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
210 |
+++ anaconda-10.1.1.103/fsset.py 2009-08-24 09:38:59.000000000 -0600 |
211 |
@@ -1219,7 +1219,6 @@ |
212 |
cf = """ |
213 |
# mdadm.conf written out by anaconda |
214 |
DEVICE partitions |
215 |
-MAILADDR root |
216 |
%s |
217 |
""" % activeArrays |
218 |
return cf |
219 |
@@ -1560,6 +1559,10 @@ |
220 |
entry.device.setupDevice(chroot) |
221 |
self.volumesCreated = 1 |
222 |
|
223 |
+ def createBootRaid (self, chroot='/'): |
224 |
+ bootDev = self.getBootDev() |
225 |
+ if bootDev.getDevice().startswith('md'): |
226 |
+ bootDev.setupDevice(chroot) |
227 |
|
228 |
def makeFilesystems (self, chroot='/'): |
229 |
formatted = [] |
230 |
@@ -2003,15 +2006,23 @@ |
231 |
return [] |
232 |
|
233 |
def mdadmLine (self, devPrefix="/dev"): |
234 |
- return "ARRAY %s/%s super-minor=%s\n" %(devPrefix, self.device, |
235 |
- self.minor) |
236 |
+ return "ARRAY %s/%s\n" %(devPrefix, self.device) |
237 |
|
238 |
def raidTab (self, devPrefix='/dev'): |
239 |
+ if self.level == 1: |
240 |
+ nDisks = max(2, self.numDisks) |
241 |
+ elif self.level == 5: |
242 |
+ nDisks = max(3, self.numDisks) |
243 |
+ elif self.level == 6: |
244 |
+ nDisks = max(4, self.numDisks) |
245 |
+ else: |
246 |
+ nDisks = self.numDisks |
247 |
+ |
248 |
entry = "" |
249 |
entry = entry + "raiddev %s/%s\n" % (devPrefix, |
250 |
self.device,) |
251 |
entry = entry + "raid-level %d\n" % (self.level,) |
252 |
- entry = entry + "nr-raid-disks %d\n" % (self.numDisks,) |
253 |
+ entry = entry + "nr-raid-disks %d\n" % (nDisks,) |
254 |
entry = entry + "chunk-size %s\n" %(self.chunksize,) |
255 |
entry = entry + "persistent-superblock 1\n" |
256 |
entry = entry + "nr-spare-disks %d\n" % (self.spares,) |
257 |
@@ -2021,6 +2032,10 @@ |
258 |
device) |
259 |
entry = entry + " raid-disk %d\n" % (i,) |
260 |
i = i + 1 |
261 |
+ while i < nDisks: |
262 |
+ entry = entry + " device dev/null\n" |
263 |
+ entry = entry + " failed-disk %d\n" % (i,) |
264 |
+ i = i + 1 |
265 |
i = 0 |
266 |
for device in self.members[self.numDisks:]: |
267 |
entry = entry + " device %s/%s\n" % (devPrefix, |
268 |
@@ -2033,6 +2048,15 @@ |
269 |
def devify(x): |
270 |
return "/dev/%s" %(x,) |
271 |
|
272 |
+ if self.level == 1: |
273 |
+ nDisks = max(2, self.numDisks) |
274 |
+ elif self.level == 5: |
275 |
+ nDisks = max(3, self.numDisks) |
276 |
+ elif self.level == 6: |
277 |
+ nDisks = max(4, self.numDisks) |
278 |
+ else: |
279 |
+ nDisks = self.numDisks |
280 |
+ |
281 |
node = "%s/%s" % (devPrefix, self.device) |
282 |
isys.makeDevInode(self.device, node) |
283 |
|
284 |
@@ -2044,12 +2068,18 @@ |
285 |
args = ["/usr/sbin/mdadm", "--create", "/dev/%s" %(self.device,), |
286 |
"--run", "--chunk=%s" %(self.chunksize,), |
287 |
"--level=%s" %(self.level,), |
288 |
- "--raid-devices=%s" %(self.numDisks,)] |
289 |
+ "--raid-devices=%s" %(nDisks,)] |
290 |
|
291 |
if self.spares > 0: |
292 |
args.append("--spare-devices=%s" %(self.spares,),) |
293 |
|
294 |
args.extend(map(devify, self.members)) |
295 |
+ |
296 |
+ i = 0 |
297 |
+ while self.numDisks + i < nDisks: |
298 |
+ args.append("missing") |
299 |
+ i = i + 1 |
300 |
+ |
301 |
log("going to run: %s" %(args,)) |
302 |
iutil.execWithRedirect (args[0], args, |
303 |
stderr="/dev/tty5", stdout="/dev/tty5") |
304 |
--- anaconda-10.1.1.103/packages.py.smepatches 2009-08-24 09:30:13.000000000 -0600 |
305 |
+++ anaconda-10.1.1.103/packages.py 2009-08-24 09:48:13.000000000 -0600 |
306 |
@@ -19,6 +19,7 @@ |
307 |
import iutil |
308 |
import isys |
309 |
import rpm |
310 |
+import hdrlist |
311 |
import os |
312 |
import timer |
313 |
import time |
314 |
@@ -54,8 +55,8 @@ |
315 |
sys.exit(0) |
316 |
return DISPATCH_FORWARD |
317 |
|
318 |
-def doPostAction(id, instPath): |
319 |
- id.instClass.postAction(instPath, flags.serial) |
320 |
+def doPostAction(id, instPath, intf): |
321 |
+ id.instClass.postAction(instPath, flags.serial, intf) |
322 |
|
323 |
def firstbootConfiguration(id, instPath): |
324 |
if id.firstboot == FIRSTBOOT_RECONFIG: |
325 |
@@ -400,10 +401,7 @@ |
326 |
|
327 |
self.progress.setPackage(h) |
328 |
self.progress.setPackageScale(0, 1) |
329 |
- self.instLog.write (self.modeText % (h[rpm.RPMTAG_NAME], |
330 |
- h[rpm.RPMTAG_VERSION], |
331 |
- h[rpm.RPMTAG_RELEASE], |
332 |
- h[rpm.RPMTAG_ARCH])) |
333 |
+ self.instLog.write (self.modeText % (hdrlist.nevra(h))) |
334 |
self.instLog.flush () |
335 |
|
336 |
self.rpmFD = -1 |
337 |
@@ -566,6 +564,7 @@ |
338 |
if not thefsset.isActive(): |
339 |
diskset.savePartitions () |
340 |
thefsset.checkBadblocks(instPath) |
341 |
+ thefsset.createBootRaid(instPath) |
342 |
if not thefsset.volumesCreated: |
343 |
thefsset.createLogicalVolumes(instPath) |
344 |
thefsset.formatSwap(instPath) |
345 |
@@ -652,6 +651,9 @@ |
346 |
log("selected xenU kernel") |
347 |
foundKernel = 1 |
348 |
xenkernel = 1 |
349 |
+ select(id.grpset.hdrlist, "kmod-appletalk-xenU") |
350 |
+ select(id.grpset.hdrlist, "kmod-ppp-xenU") |
351 |
+ select(id.grpset.hdrlist, "kmod-slip-xenU") |
352 |
if selected(id.grpset.hdrlist, "gcc"): |
353 |
select(id.grpset.hdrlist, "kernel-xenU-devel") |
354 |
|
355 |
@@ -679,31 +681,49 @@ |
356 |
if not xenkernel and largesmp_min > 0 and nthreads > largesmp_min and \ |
357 |
select(id.grpset.hdrlist, "kernel-largesmp"): |
358 |
foundKernel = 1 |
359 |
+ select(id.grpset.hdrlist, "kmod-appletalk-largesmp") |
360 |
+ select(id.grpset.hdrlist, "kmod-ppp-largesmp") |
361 |
+ select(id.grpset.hdrlist, "kmod-slip-largesmp") |
362 |
if selected(id.grpset.hdrlist, "gcc"): |
363 |
select(id.grpset.hdrlist, "kernel-largesmp-devel") |
364 |
elif not xenkernel and nthreads > 1: |
365 |
if select(id.grpset.hdrlist, "kernel-smp"): |
366 |
foundkernel = 1 |
367 |
+ select(id.grpset.hdrlist, "kmod-appletalk-smp") |
368 |
+ select(id.grpset.hdrlist, "kmod-ppp-smp") |
369 |
+ select(id.grpset.hdrlist, "kmod-slip-smp") |
370 |
if selected(id.grpset.hdrlist, "gcc"): |
371 |
select(id.grpset.hdrlist, "kernel-smp-devel") |
372 |
|
373 |
if not xenkernel and iutil.needsEnterpriseKernel(): |
374 |
if select(id.grpset.hdrlist, "kernel-bigmem"): |
375 |
foundkernel = 1 |
376 |
+ select(id.grpset.hdrlist, "kmod-appletalk-bigmem") |
377 |
+ select(id.grpset.hdrlist, "kmod-ppp-bigmemsmp") |
378 |
+ select(id.grpset.hdrlist, "kmod-slip-bigmemsmp") |
379 |
|
380 |
if not xenkernel and isys.summitavailable(): |
381 |
if select(id.grpset.hdrlist, "kernel-summit"): |
382 |
foundkernel = 1 |
383 |
+ select(id.grpset.hdrlist, "kmod-appletalk-summit") |
384 |
+ select(id.grpset.hdrlist, "kmod-ppp-summit") |
385 |
+ select(id.grpset.hdrlist, "kmod-slip-summit") |
386 |
|
387 |
if foundkernel == 0: |
388 |
# we *always* need to have some sort of kernel installed |
389 |
select(id.grpset.hdrlist, 'kernel') |
390 |
+ select(id.grpset.hdrlist, "kmod-appletalk") |
391 |
+ select(id.grpset.hdrlist, "kmod-ppp") |
392 |
+ select(id.grpset.hdrlist, "kmod-slip") |
393 |
|
394 |
if xenkernel: |
395 |
log("deselecting kernel since we're installing xen kerenl") |
396 |
# XXX: this is a bit of a hack, but we can't do much better |
397 |
# with the rhel4 anaconda |
398 |
id.grpset.hdrlist["kernel"].manual_state = -2 # MANUAL_OFF |
399 |
+ id.grpset.hdrlist["kmod-appletalk"].manual_state = -2 # MANUAL_OFF |
400 |
+ id.grpset.hdrlist["kmod-ppp"].manual_state = -2 # MANUAL_OFF |
401 |
+ id.grpset.hdrlist["kmod-slip"].manual_state = -2 # MANUAL_OFF |
402 |
|
403 |
if (selected(id.grpset.hdrlist, "gcc") and |
404 |
selected(id.grpset.hdrlist, "kernel")): |
405 |
@@ -1002,9 +1022,9 @@ |
406 |
# dup'd when we go out of scope |
407 |
|
408 |
if upgrade: |
409 |
- modeText = _("Upgrading %s-%s-%s.%s.\n") |
410 |
+ modeText = _("Upgrading %s.\n") |
411 |
else: |
412 |
- modeText = _("Installing %s-%s-%s.%s.\n") |
413 |
+ modeText = _("Installing %s.\n") |
414 |
|
415 |
log ("getting rpm error class") |
416 |
errors = rpmErrorClass(instLog) |
417 |
@@ -1151,15 +1171,16 @@ |
418 |
if flags.test: |
419 |
return |
420 |
|
421 |
- w = intf.progressWindow(_("Post Install"), |
422 |
- _("Performing post install configuration..."), 6) |
423 |
- |
424 |
upgrade = id.upgrade.get() |
425 |
arch = iutil.getArch () |
426 |
|
427 |
if upgrade: |
428 |
+ w = intf.progressWindow(_("Post Upgrade"), |
429 |
+ _("Performing post upgrade configuration..."), 6) |
430 |
logname = '/root/upgrade.log' |
431 |
else: |
432 |
+ w = intf.progressWindow(_("Post Install"), |
433 |
+ _("Performing post install configuration..."), 6) |
434 |
logname = '/root/install.log' |
435 |
|
436 |
instLogName = instPath + logname |
437 |
@@ -1304,13 +1325,10 @@ |
438 |
h = ts.hdrFromFdno(fd) |
439 |
os.close(fd) |
440 |
if upgrade: |
441 |
- text = _("Upgrading %s-%s-%s.%s.\n") |
442 |
+ text = _("Upgrading %s.\n") |
443 |
else: |
444 |
- text = _("Installing %s-%s-%s.%s.\n") |
445 |
- instLog.write(text % (h['name'], |
446 |
- h['version'], |
447 |
- h['release'], |
448 |
- h['arch'])) |
449 |
+ text = _("Installing %s.\n") |
450 |
+ instLog.write(text % (hdrlist.nevra(h))) |
451 |
os.unlink(id.compspkg) |
452 |
del ts |
453 |
|
454 |
@@ -1336,14 +1354,19 @@ |
455 |
instLog.write(_("\n\nThe following packages were available in " |
456 |
"this version but NOT installed:\n")) |
457 |
|
458 |
+ ts = rpm.TransactionSet(instPath) |
459 |
+ ts.setVSFlags(~(rpm.RPMVSF_NORSA|rpm.RPMVSF_NODSA)) |
460 |
+ |
461 |
lines = [] |
462 |
for p in id.grpset.hdrlist.values(): |
463 |
if not p.isSelected(): |
464 |
- lines.append("%s-%s-%s.%s.rpm\n" % |
465 |
- (p.hdr[rpm.RPMTAG_NAME], |
466 |
- p.hdr[rpm.RPMTAG_VERSION], |
467 |
- p.hdr[rpm.RPMTAG_RELEASE], |
468 |
- p.hdr[rpm.RPMTAG_ARCH])) |
469 |
+ text = "%s" % (hdrlist.nevra(p)) |
470 |
+ for f in ts.dbMatch('name', p.hdr[rpm.RPMTAG_NAME]): |
471 |
+ if hdrlist.nevra(p) == hdrlist.nevra(f): |
472 |
+ text = "%s (already installed)" % (text) |
473 |
+ else: |
474 |
+ text = "%s (%s installed)" % (text, hdrlist.nevra(f)) |
475 |
+ lines.append("%s\n" % text) |
476 |
lines.sort() |
477 |
for line in lines: |
478 |
instLog.write(line) |
479 |
@@ -1587,7 +1610,7 @@ |
480 |
"from testers, and it is not suitable " |
481 |
"for day to day usage.\n\n" |
482 |
"To report feedback, please visit:\n\n" |
483 |
- " http://www.centos.orrg/bugs\n\n" |
484 |
+ " http://bugs.contribs.org/\n\n" |
485 |
"and file a report against '%s'.\n" |
486 |
%(productName, fileagainst)), |
487 |
type="custom", custom_icon="warning", |
488 |
--- anaconda-10.1.1.103/constants.py.smepatches 2009-08-24 09:30:13.000000000 -0600 |
489 |
+++ anaconda-10.1.1.103/constants.py 2009-08-24 09:36:32.000000000 -0600 |
490 |
@@ -73,11 +73,11 @@ |
491 |
"is most likely a bug. Please copy the " |
492 |
"full text of this exception or save the crash " |
493 |
"dump to a floppy then file a detailed bug " |
494 |
- "report against anaconda at " |
495 |
- "http://www.centos.org/bugs/") |
496 |
+ "report against the SME Server installer at " |
497 |
+ "http://bugs.contribs.org/") |
498 |
|
499 |
exceptionTextNoFloppy = N_("An unhandled exception has occurred. This " |
500 |
"is most likely a bug. Please copy the " |
501 |
"full text of this exception and file a detailed " |
502 |
- "bug report against anaconda at " |
503 |
- "http://www.centos.org/bugs/") |
504 |
+ "bug report against the SME Server installer at " |
505 |
+ "http://bugs.contribs.org/") |
506 |
--- anaconda-10.1.1.103/raid.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
507 |
+++ anaconda-10.1.1.103/raid.py 2009-08-24 09:38:59.000000000 -0600 |
508 |
@@ -90,7 +90,17 @@ |
509 |
raidList = [] |
510 |
for key in raidSets.keys(): |
511 |
(level, totalDisks, mdMinor, devices) = raidSets[key] |
512 |
- if len(devices) < totalDisks: |
513 |
+ if len(devices) == totalDisks - 1 and level in (1, 5, 6): |
514 |
+ log("missing components of raid device md%d. The " |
515 |
+ "raid device needs %d drive(s) and only %d (was/were) found. " |
516 |
+ "This raid device will be started in degraded mode.", mdMinor, |
517 |
+ totalDisks, len(devices)) |
518 |
+ elif len(devices) == totalDisks - 2 and level == 6: |
519 |
+ log("missing components of raid device md%d. The " |
520 |
+ "raid device needs %d drive(s) and only %d (was/were) found. " |
521 |
+ "This raid device will be started in degraded mode.", mdMinor, |
522 |
+ totalDisks, len(devices)) |
523 |
+ elif len(devices) < totalDisks: |
524 |
log("missing components of raid device md%d. The " |
525 |
"raid device needs %d drive(s) and only %d (was/were) found. " |
526 |
"This raid device will not be started.", mdMinor, |
527 |
@@ -160,11 +170,11 @@ |
528 |
if isRaid0(raidlevel): |
529 |
return 2 |
530 |
elif isRaid1(raidlevel): |
531 |
- return 2 |
532 |
+ return 1 |
533 |
elif isRaid5(raidlevel): |
534 |
- return 3 |
535 |
+ return 2 |
536 |
elif isRaid6(raidlevel): |
537 |
- return 4 |
538 |
+ return 2 |
539 |
else: |
540 |
raise ValueError, "invalid raidlevel in get_raid_min_members" |
541 |
|
542 |
--- anaconda-10.1.1.103/bootloader.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
543 |
+++ anaconda-10.1.1.103/bootloader.py 2009-08-24 09:43:44.000000000 -0600 |
544 |
@@ -186,11 +186,6 @@ |
545 |
except BootyNoKernelWarning: |
546 |
if not justConfigFile: |
547 |
w.pop() |
548 |
- if intf: |
549 |
- intf.messageWindow(_("Warning"), |
550 |
- _("No kernel packages were installed on your " |
551 |
- "system. Your boot loader configuration " |
552 |
- "will not be changed.")) |
553 |
dosync() |
554 |
|
555 |
# note that this function no longer actually creates an initrd. |
556 |
--- anaconda-10.1.1.103/findpackageset.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
557 |
+++ anaconda-10.1.1.103/findpackageset.py 2009-08-24 09:43:44.000000000 -0600 |
558 |
@@ -108,21 +108,15 @@ |
559 |
# loop through packages and find ones which are a newer |
560 |
# version than what we have |
561 |
for ( name, arch ) in instDict.keys(): |
562 |
- if ( name, arch ) in availDict.keys(): |
563 |
- # Exact arch upgrade |
564 |
- h = instDict[(name, arch)] |
565 |
- pkg = availDict[(name,arch)] |
566 |
- comparePackageForUpgrade(updDict, h, pkg) |
567 |
- else: |
568 |
- # See if we have a better arch than that installed |
569 |
- if name in availNames.keys(): |
570 |
- bestarch = findBestArch(availNames[name]) |
571 |
- if not bestarch: |
572 |
- continue |
573 |
- if availDict.has_key((name,bestarch)): |
574 |
- h = instDict[(name,arch)] |
575 |
- pkg = availDict[(name,bestarch)] |
576 |
- comparePackageForUpgrade(updDict, h, pkg) |
577 |
+ # See if we have a better arch than that installed |
578 |
+ if name in availNames.keys(): |
579 |
+ bestarch = findBestArch(availNames[name]) |
580 |
+ if not bestarch: |
581 |
+ continue |
582 |
+ if availDict.has_key((name,bestarch)): |
583 |
+ h = instDict[(name,arch)] |
584 |
+ pkg = availDict[(name,bestarch)] |
585 |
+ comparePackageForUpgrade(updDict, h, pkg) |
586 |
|
587 |
# handle obsoletes |
588 |
for pkg in hdlist: |
589 |
--- anaconda-10.1.1.103/instdata.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
590 |
+++ anaconda-10.1.1.103/instdata.py 2009-08-24 09:43:44.000000000 -0600 |
591 |
@@ -116,10 +116,7 @@ |
592 |
|
593 |
def write(self, instPath): |
594 |
self.langSupport.write (instPath) |
595 |
- |
596 |
- if not self.isHeadless: |
597 |
- self.keyboard.write (instPath) |
598 |
- |
599 |
+ self.keyboard.write (instPath) |
600 |
self.timezone.write (instPath) |
601 |
self.auth.write (instPath) |
602 |
self.firewall.write (instPath) |
603 |
@@ -172,8 +169,8 @@ |
604 |
|
605 |
self.instLanguage.writeKS(f) |
606 |
self.langSupport.writeKS(f) |
607 |
+ self.keyboard.writeKS(f) |
608 |
if not self.isHeadless: |
609 |
- self.keyboard.writeKS(f) |
610 |
self.xsetup.writeKS(f, self.desktop) |
611 |
self.network.writeKS(f) |
612 |
self.zfcp.writeKS(f) |
613 |
--- anaconda-10.1.1.103/kickstart.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
614 |
+++ anaconda-10.1.1.103/kickstart.py 2009-08-24 09:46:27.000000000 -0600 |
615 |
@@ -98,7 +98,18 @@ |
616 |
class KickstartBase(BaseInstallClass): |
617 |
name = "kickstart" |
618 |
|
619 |
- def postAction(self, rootPath, serial): |
620 |
+ def postAction(self, rootPath, serial, intf): |
621 |
+ win = intf.waitWindow(_("Post Install Script"), |
622 |
+ _("The post installation script is running...")) |
623 |
+ |
624 |
+ script = ( "/sbin/syslogd &\n" |
625 |
+ "sleep 2\n" |
626 |
+ "/sbin/e-smith/signal-event post-install\n" ) |
627 |
+ s = Script(script, interp="/bin/sh", inChroot=1) |
628 |
+ log("%s", s) |
629 |
+ s.run(rootPath, serial) |
630 |
+ win.pop() |
631 |
+ |
632 |
log("Running kickstart %%post script(s)") |
633 |
for script in self.postScripts: |
634 |
script.run(rootPath, serial) |
635 |
--- anaconda-10.1.1.103/lang-table.smepatches 2009-03-31 05:29:51.000000000 -0600 |
636 |
+++ anaconda-10.1.1.103/lang-table 2009-08-24 09:43:44.000000000 -0600 |
637 |
@@ -1,41 +1,20 @@ |
638 |
-Arabic ar none ar_SA.UTF-8 us Asia/Riyadh ar_SA.UTF-8 |
639 |
-Bengali bn none bn_BD.UTF-8 us Asia/Dhaka bn_BD.UTF-8 |
640 |
-Bengali(India) bn none bn_IN.UTF-8 us Asia/Calcutta bn_IN.UTF-8 |
641 |
Bulgarian bg latarcyrheb-sun16 bg_BG.UTF-8 bg Europe/Sofia bg_BG.UTF-8 |
642 |
-Catalan ca latarcyrheb-sun16 ca_ES.UTF-8 es Europe/Madrid es_ES.UTF-8 |
643 |
Chinese(Simplified) zh_CN bterm zh_CN.UTF-8 us Asia/Shanghai zh_CN.UTF-8 |
644 |
-Chinese(Traditional) zh_TW bterm zh_TW.UTF-8 us Asia/Taipei zh_TW.UTF-8 |
645 |
-Croatian hr latarcyrheb-sun16 hr_HR.UTF-8 croat Europe/Zagreb hr_HR.UTF-8 |
646 |
-Czech cs latarcyrheb-sun16 cs_CZ.UTF-8 cz-lat2 Europe/Prague cs_CZ.UTF-8 |
647 |
Danish da latarcyrheb-sun16 da_DK.UTF-8 dk Europe/Copenhagen da_DK.UTF-8 |
648 |
Dutch nl latarcyrheb-sun16 nl_NL.UTF-8 nl Europe/Amsterdam nl_NL.UTF-8 |
649 |
English en latarcyrheb-sun16 en_US.UTF-8 us America/New_York en_US.UTF-8 |
650 |
Estonian et latarcyrheb-sun16 et_EE.UTF-8 et Europe/Tallinn et_EE.UTF-8 |
651 |
-Finnish fi latarcyrheb-sun16 fi_FI.UTF-8 fi Europe/Helsinki fi_FI.UTF-8 |
652 |
French fr latarcyrheb-sun16 fr_FR.UTF-8 fr-latin1 Europe/Paris fr_FR.UTF-8 |
653 |
German de latarcyrheb-sun16 de_DE.UTF-8 de-latin1-nodeadkeys Europe/Berlin de_DE.UTF-8 |
654 |
-Gujarati gu none gu_IN.UTF-8 us Asia/Calcutta gu_IN.UTF-8 |
655 |
-Hindi hi none hi_IN.UTF-8 us Asia/Calcutta hi_IN.UTF-8 |
656 |
Hungarian hu latarcyrheb-sun16 hu_HU.UTF-8 hu Europe/Budapest hu_HU.UTF-8 |
657 |
-Icelandic is latarcyrheb-sun16 is_IS.UTF-8 is-latin1 Atlantic/Reykjavik is_IS.UTF-8 |
658 |
Italian it latarcyrheb-sun16 it_IT.UTF-8 it Europe/Rome it_IT.UTF-8 |
659 |
Japanese ja bterm ja_JP.UTF-8 jp106 Asia/Tokyo ja_JP.UTF-8 |
660 |
-Korean ko bterm ko_KR.UTF-8 us Asia/Seoul ko_KR.UTF-8 |
661 |
-Macedonian mk latarcyrheb-sun16 mk_MK.UTF-8 mk Europe/Skopje mk_MK.UTF-8 |
662 |
-Malay ms latarcyrheb-sun16 ms_MY.UTF-8 us Asia/Kuala_Lumpur ms_MY.UTF-8 |
663 |
Norwegian nb latarcyrheb-sun16 nb_NO.UTF-8 no Europe/Oslo nb_NO.UTF-8 |
664 |
-Persian fa none fa_IR.UTF-8 us Asia/Tehran fa_IR.UTF-8 |
665 |
Polish pl latarcyrheb-sun16 pl_PL.UTF-8 pl Europe/Warsaw pl_PL.UTF-8 |
666 |
Portuguese pt latarcyrheb-sun16 pt_PT.UTF-8 pt-latin1 Europe/Lisbon pt_PT.UTF-8 |
667 |
Portuguese(Brazilian) pt_BR latarcyrheb-sun16 pt_BR.UTF-8 br-abnt2 America/Sao_Paulo pt_BR.UTF-8 |
668 |
-Punjabi pa none pa_IN.UTF-8 us Asia/Calcutta pa_IN.UTF-8 |
669 |
Russian ru latarcyrheb-sun16 ru_RU.UTF-8 ru Europe/Moscow ru_RU.UTF-8 |
670 |
Slovenian sl latarcyrheb-sun16 sl_SI.UTF-8 slovene Europe/Ljubljana sl_SI.UTF-8 |
671 |
Spanish es latarcyrheb-sun16 es_ES.UTF-8 es Europe/Madrid es_ES.UTF-8 |
672 |
Swedish sv latarcyrheb-sun16 sv_SE.UTF-8 sv-latin1 Europe/Stockholm sv_SE.UTF-8 |
673 |
-Tamil ta none ta_IN.UTF-8 us Asia/Calcutta ta_IN.UTF-8 |
674 |
Turkish tr latarcyrheb-sun16 tr_TR.UTF-8 trq Europe/Istanbul tr_TR.UTF-8 |
675 |
-Ukrainian uk latarcyrheb-sun16 uk_UA.UTF-8 ua-utf Europe/Kiev uk_UA.UTF-8 |
676 |
-Vietnamese vi latarcyrheb-sun16 vi_VN.UTF-8 us Asia/Saigon vi_VN.UTF-8 |
677 |
-Welsh cy latarcyrheb-sun16 cy_GB.UTF-8 uk Europe/London cy_GB.UTF-8 |
678 |
-Zulu zu latarcyrheb-sun16 zu_ZA.UTF-8 us Africa/Johannesburg zu_ZA.UTF-8 |
679 |
--- anaconda-10.1.1.103/partedUtils.py.smepatches 2009-08-24 09:30:13.000000000 -0600 |
680 |
+++ anaconda-10.1.1.103/partedUtils.py 2009-08-24 09:43:44.000000000 -0600 |
681 |
@@ -473,8 +473,8 @@ |
682 |
return None |
683 |
|
684 |
def getCentOSReleaseString(mountpoint): |
685 |
- if os.access(mountpoint + "/etc/redhat-release", os.R_OK): |
686 |
- f = open(mountpoint + "/etc/redhat-release", "r") |
687 |
+ if os.access(mountpoint + "/etc/e-smith-release", os.R_OK): |
688 |
+ f = open(mountpoint + "/etc/e-smith-release", "r") |
689 |
try: |
690 |
lines = f.readlines() |
691 |
except IOError: |
692 |
@@ -516,6 +516,7 @@ |
693 |
return 1 |
694 |
|
695 |
productUpgrades = { |
696 |
+ "SME Server": ("Mitel Networks", "SME Server", "e-smith server", ), |
697 |
"Red Hat Enterprise Linux AS": ("Red Hat Linux Advanced Server", ), |
698 |
"Red Hat Enterprise Linux WS": ("Red Hat Linux Advanced Workstation",), |
699 |
# FIXME: this probably shouldn't be in a release... |
700 |
--- anaconda-10.1.1.103/upgrade.py.smepatches 2009-08-24 09:30:13.000000000 -0600 |
701 |
+++ anaconda-10.1.1.103/upgrade.py 2009-08-24 09:43:44.000000000 -0600 |
702 |
@@ -49,6 +49,21 @@ |
703 |
upgrade_remove_blacklist = ( ("samba","ppc64"),) |
704 |
|
705 |
def findRootParts(intf, id, dispatch, dir, chroot): |
706 |
+# w = intf.waitWindow(_("Converting to RAID"), |
707 |
+# _("Converting to RAID, this may take several minutes...")) |
708 |
+# |
709 |
+# # XXX - FIXME - HACK RAID upgrade |
710 |
+# |
711 |
+# rc = iutil.execWithRedirect("/tmp/updates/raidconvert", |
712 |
+# ["raidconvert"], |
713 |
+# stdin = None, |
714 |
+# stdout = "/dev/tty5", |
715 |
+# stderr = "/dev/tty5") |
716 |
+# w.pop() |
717 |
+# |
718 |
+# if rc: |
719 |
+# raise SystemError |
720 |
+ |
721 |
if dir == DISPATCH_BACK: |
722 |
return |
723 |
if id.rootParts is None: |
724 |
@@ -60,7 +75,7 @@ |
725 |
|
726 |
if id.rootParts is not None and len(id.rootParts) > 0: |
727 |
dispatch.skipStep("findinstall", skip = 0) |
728 |
- if productName.find("Red Hat Enterprise Linux") == -1: |
729 |
+ if productName.find("SME Server") == -1: |
730 |
dispatch.skipStep("installtype", skip = 1) |
731 |
else: |
732 |
dispatch.skipStep("findinstall", skip = 1) |
733 |
@@ -513,10 +528,10 @@ |
734 |
pass |
735 |
sys.exit(0) |
736 |
|
737 |
- if not os.access(instPath + "/etc/redhat-release", os.R_OK): |
738 |
+ if not os.access(instPath + "/etc/e-smith-release", os.R_OK): |
739 |
rc = intf.messageWindow(_("Warning"), |
740 |
_("This system does not have an " |
741 |
- "/etc/redhat-release file. It is possible " |
742 |
+ "/etc/e-smith-release file. It is possible " |
743 |
"that this is not a %s system. " |
744 |
"Continuing with the upgrade process may " |
745 |
"leave the system in an unusable state. Do " |
746 |
@@ -533,7 +548,7 @@ |
747 |
# Figure out current version for upgrade nag and for determining weird |
748 |
# upgrade cases |
749 |
supportedUpgradeVersion = -1 |
750 |
- mi = ts.dbMatch('provides', 'redhat-release') |
751 |
+ mi = ts.dbMatch('provides', 'e-smith-release') |
752 |
for h in mi: |
753 |
if h[rpm.RPMTAG_EPOCH] is None: |
754 |
epoch = None |
755 |
@@ -541,7 +556,7 @@ |
756 |
epoch = str(h[rpm.RPMTAG_EPOCH]) |
757 |
|
758 |
if supportedUpgradeVersion <= 0: |
759 |
- val = rpm.labelCompare((None, '3', '1'), |
760 |
+ val = rpm.labelCompare(('21', '6.0', '11'), |
761 |
(epoch, h[rpm.RPMTAG_VERSION], |
762 |
h[rpm.RPMTAG_RELEASE])) |
763 |
if val > 0: |
764 |
@@ -550,9 +565,6 @@ |
765 |
supportedUpgradeVersion = 1 |
766 |
break |
767 |
|
768 |
- if productName.find("Red Hat Enterprise Linux") == -1: |
769 |
- supportedUpgradeVersion = 1 |
770 |
- |
771 |
if supportedUpgradeVersion == 0: |
772 |
rc = intf.messageWindow(_("Warning"), |
773 |
_("You appear to be upgrading from a system " |
774 |
--- anaconda-10.1.1.103/dispatch.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
775 |
+++ anaconda-10.1.1.103/dispatch.py 2009-08-24 09:48:01.000000000 -0600 |
776 |
@@ -155,7 +155,7 @@ |
777 |
("writeksconfig", writeKSConfiguration, ("id", "instPath")), |
778 |
("setfilecon", setFileCons, ("instPath","id.partitions")), |
779 |
("copylogs", copyAnacondaLogs, ("instPath",)), |
780 |
- ("dopostaction", doPostAction, ("id", "instPath")), |
781 |
+ ("dopostaction", doPostAction, ("id", "instPath", "intf")), |
782 |
("methodcomplete", doMethodComplete, ("method",)), |
783 |
("complete", ()), |
784 |
] |
785 |
@@ -175,7 +175,8 @@ |
786 |
# we can not go backwards from this screen |
787 |
i = self.step - 1 |
788 |
while i >= self.firstStep: |
789 |
- if not self.skipSteps.has_key(installSteps[i][0]): |
790 |
+ if (not self.skipSteps.has_key(installSteps[i][0]) |
791 |
+ and (type(installSteps[i][1]) != FunctionType)): |
792 |
return 1 |
793 |
i = i - 1 |
794 |
return 0 |
795 |
--- anaconda-10.1.1.103/installclass.py.smepatches 2009-03-31 05:29:51.000000000 -0600 |
796 |
+++ anaconda-10.1.1.103/installclass.py 2009-08-24 09:45:58.000000000 -0600 |
797 |
@@ -63,7 +63,7 @@ |
798 |
# we can use a different install data class |
799 |
installDataClass = InstallData |
800 |
|
801 |
- def postAction(self, rootPath, serial): |
802 |
+ def postAction(self, rootPath, serial, intf): |
803 |
pass |
804 |
|
805 |
def setBootloader(self, id, useLilo=0, location=None, linear=1, |
806 |
--- anaconda-10.1.1.103/text.py.smepatches 2009-08-24 09:30:13.000000000 -0600 |
807 |
+++ anaconda-10.1.1.103/text.py 2009-08-24 09:48:01.000000000 -0600 |
808 |
@@ -506,7 +506,8 @@ |
809 |
"from here. You will have to try " |
810 |
"again."), |
811 |
buttons=[_("OK")]) |
812 |
- dispatch.gotoPrev() |
813 |
+ else: |
814 |
+ dispatch.gotoPrev() |
815 |
else: |
816 |
dispatch.gotoNext() |
817 |
|