--- anaconda-10.1.1.103/textw/installpath_text.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/textw/installpath_text.py 2009-08-24 09:43:44.000000000 -0600 @@ -45,12 +45,12 @@ if orig != None: default = orig - (button, choice) = ListboxChoiceWindow(screen, _("Installation Type"), - _("What type of system would you like to install?"), - choices, [TEXT_OK_BUTTON, TEXT_BACK_BUTTON], - width = 40, default = default, help = "installpath") + choice = default + rc = intf.messageWindow(_("Warning"), + _("All disks will be reformatted and any data will be lost. Proceed?"), + type = "yesno", default = "no") - if button == TEXT_BACK_CHECK: + if rc == 0: return INSTALL_BACK if (choice != orig): --- anaconda-10.1.1.103/textw/language_text.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/textw/language_text.py 2009-08-24 09:43:44.000000000 -0600 @@ -91,85 +91,12 @@ class LanguageSupportWindow: def __call__(self, screen, language): - - # should already be sorted - ct = CheckboxTree(height = 8, scroll = 1) - - for lang in language.getAllSupported(): - ct.append(lang, lang, 0) - - for lang in language.getSupported (): - ct.setEntryValue(lang, 1) - - current = language.getDefault() - ct.setCurrent(current) - ct.setEntryValue(current, 1) - - bb = ButtonBar (screen, (TEXT_OK_BUTTON, (_("Select All"), "all"), (_("Reset"), "reset"), TEXT_BACK_BUTTON)) - - message = (_("Choose additional languages that you would like to use " - "on this system:")) - tb = TextboxReflowed(50, message) - - g = GridFormHelp (screen, _("Language Support"), "langsupport", 1, 4) - - g.add (tb, 0, 0, (0, 0, 0, 1), anchorLeft = 1) - g.add (ct, 0, 1, (0, 0, 0, 1)) - g.add (bb, 0, 3, growx = 1) - - while 1: - result = g.run() - - rc = bb.buttonPressed (result) - - if rc == TEXT_BACK_CHECK: - screen.popWindow() - return INSTALL_BACK - - if rc == "all": - for lang in language.getAllSupported(): - ct.setEntryValue(lang, 1) - - if rc == "reset": - for lang in language.getAllSupported(): - if lang == current: - ct.setEntryValue(lang, 1) - else: - ct.setEntryValue(lang, 0) - - if rc == TEXT_OK_CHECK or result == TEXT_F12_CHECK: - # --If they selected all langs, then set language.setSupported to - # None. This installs all langs - - if ct.getSelection() == []: - ButtonChoiceWindow(screen, _("Invalid Choice"), - _("You must select at least one language to install."), - buttons = [ TEXT_OK_BUTTON ], width = 40) - - else: - # set selected langs once - language.setSupported (ct.getSelection()) - - # we may need to reset the default language - default = language.getDefault() - if default not in ct.getSelection(): - sellangs = language.getSupported() - - if len(sellangs) > 0: - language.setDefault(sellangs[0]) - else: - language.setDefault(None) - - else: - language.setDefault(default) - - # now set new selected langs again in case old default - # lang was left in the list before we switched the default - language.setSupported (ct.getSelection()) - - screen.popWindow() - return INSTALL_OK - + langs = [] + default = language.getDefault() + langs.append(default) + language.setSupported(langs) + language.setDefault(default) + return INSTALL_OK class LanguageDefaultWindow: def __call__(self,screen, language): --- anaconda-10.1.1.103/textw/progress_text.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/textw/progress_text.py 2009-08-24 09:43:44.000000000 -0600 @@ -103,8 +103,8 @@ currow = 0 - width = 47 + max (len (name), len (size), len (sum)) - self.name = Label(" " * 48) + width = 60 + max (len (name), len (size), len (sum)) + self.name = Label(" " * 59) self.size = Label(" ") detail = Grid(2, 2) detail.setField(Label(name), 0, 0, anchorLeft = 1) --- anaconda-10.1.1.103/textw/timezone_text.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/textw/timezone_text.py 2009-08-24 09:43:44.000000000 -0600 @@ -48,8 +48,7 @@ args = [ "/usr/sbin/hwclock" ] args.append("--hctosys") - if self.c.selected(): - args.append("--utc") + args.append("--utc") iutil.execWithRedirect(args[0], args) self.g.setTimer(500) @@ -91,14 +90,12 @@ self.l.setCurrent(default) # self.l.setCallback(self.updateClock) - self.c = Checkbox("System clock uses UTC", isOn = asUtc) # self.c.setCallback(self.updateSysClock) self.g = GridFormHelp(screen, _("Time Zone Selection"), "timezone", 1, 5) self.g.add(t, 0, 0) # self.g.add(self.label, 0, 1, padding = (0, 1, 0, 0), anchorLeft = 1) - self.g.add(self.c, 0, 2, padding = (0, 1, 0, 1), anchorLeft = 1) self.g.add(self.l, 0, 3, padding = (0, 0, 0, 1)) self.g.add(bb, 0, 4, growx = 1) @@ -126,7 +123,7 @@ break screen.popWindow() - timezone.setTimezoneInfo(self.l.current(), asUtc = self.c.selected()) + timezone.setTimezoneInfo(self.l.current(), asUtc = 1) return INSTALL_OK --- anaconda-10.1.1.103/textw/upgrade_text.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/textw/upgrade_text.py 2009-08-24 09:43:44.000000000 -0600 @@ -20,8 +20,8 @@ from fsset import * from flags import flags from constants import * -import upgradeclass -UpgradeClass = upgradeclass.InstallClass +import smeupgradeclass +UpgradeClass = smeupgradeclass.InstallClass from rhpl.log import log from rhpl.translate import _ @@ -196,26 +196,19 @@ else: scroll = 0 partList = [] - partList.append(_("Reinstall System")) + partList.append(_("Erase ALL disks, and perform a fresh install")) for (drive, fs, desc) in parts: - if drive[:5] != "/dev/": - devname = "/dev/" + drive - else: - devname = drive - partList.append("%s (%s)" %(desc, drive)) + partList.append(_("Upgrade existing \"%s\" system") %(desc)) (button, choice) = ListboxChoiceWindow(screen, _("System to Upgrade"), - _("One or more existing Linux installations " - "have been found " - "on your system.\n\nPlease choose one to upgrade, " - "or select 'Reinstall System' to freshly install " - "your system."), partList, + _("Your system is upgradeable."), partList, [ TEXT_OK_BUTTON, TEXT_BACK_BUTTON ], width = 55, scroll = scroll, height = height, - help = "upgraderoot") + help = "upgraderoot", + default = 1) if button == TEXT_BACK_CHECK: return INSTALL_BACK --- anaconda-10.1.1.103/fsset.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/fsset.py 2009-08-24 09:38:59.000000000 -0600 @@ -1219,7 +1219,6 @@ cf = """ # mdadm.conf written out by anaconda DEVICE partitions -MAILADDR root %s """ % activeArrays return cf @@ -1560,6 +1559,10 @@ entry.device.setupDevice(chroot) self.volumesCreated = 1 + def createBootRaid (self, chroot='/'): + bootDev = self.getBootDev() + if bootDev.getDevice().startswith('md'): + bootDev.setupDevice(chroot) def makeFilesystems (self, chroot='/'): formatted = [] @@ -2003,15 +2006,23 @@ return [] def mdadmLine (self, devPrefix="/dev"): - return "ARRAY %s/%s super-minor=%s\n" %(devPrefix, self.device, - self.minor) + return "ARRAY %s/%s\n" %(devPrefix, self.device) def raidTab (self, devPrefix='/dev'): + if self.level == 1: + nDisks = max(2, self.numDisks) + elif self.level == 5: + nDisks = max(3, self.numDisks) + elif self.level == 6: + nDisks = max(4, self.numDisks) + else: + nDisks = self.numDisks + entry = "" entry = entry + "raiddev %s/%s\n" % (devPrefix, self.device,) entry = entry + "raid-level %d\n" % (self.level,) - entry = entry + "nr-raid-disks %d\n" % (self.numDisks,) + entry = entry + "nr-raid-disks %d\n" % (nDisks,) entry = entry + "chunk-size %s\n" %(self.chunksize,) entry = entry + "persistent-superblock 1\n" entry = entry + "nr-spare-disks %d\n" % (self.spares,) @@ -2021,6 +2032,10 @@ device) entry = entry + " raid-disk %d\n" % (i,) i = i + 1 + while i < nDisks: + entry = entry + " device dev/null\n" + entry = entry + " failed-disk %d\n" % (i,) + i = i + 1 i = 0 for device in self.members[self.numDisks:]: entry = entry + " device %s/%s\n" % (devPrefix, @@ -2033,6 +2048,15 @@ def devify(x): return "/dev/%s" %(x,) + if self.level == 1: + nDisks = max(2, self.numDisks) + elif self.level == 5: + nDisks = max(3, self.numDisks) + elif self.level == 6: + nDisks = max(4, self.numDisks) + else: + nDisks = self.numDisks + node = "%s/%s" % (devPrefix, self.device) isys.makeDevInode(self.device, node) @@ -2044,12 +2068,18 @@ args = ["/usr/sbin/mdadm", "--create", "/dev/%s" %(self.device,), "--run", "--chunk=%s" %(self.chunksize,), "--level=%s" %(self.level,), - "--raid-devices=%s" %(self.numDisks,)] + "--raid-devices=%s" %(nDisks,)] if self.spares > 0: args.append("--spare-devices=%s" %(self.spares,),) args.extend(map(devify, self.members)) + + i = 0 + while self.numDisks + i < nDisks: + args.append("missing") + i = i + 1 + log("going to run: %s" %(args,)) iutil.execWithRedirect (args[0], args, stderr="/dev/tty5", stdout="/dev/tty5") --- anaconda-10.1.1.103/packages.py.smepatches 2009-08-24 09:30:13.000000000 -0600 +++ anaconda-10.1.1.103/packages.py 2009-08-24 09:48:13.000000000 -0600 @@ -19,6 +19,7 @@ import iutil import isys import rpm +import hdrlist import os import timer import time @@ -54,8 +55,8 @@ sys.exit(0) return DISPATCH_FORWARD -def doPostAction(id, instPath): - id.instClass.postAction(instPath, flags.serial) +def doPostAction(id, instPath, intf): + id.instClass.postAction(instPath, flags.serial, intf) def firstbootConfiguration(id, instPath): if id.firstboot == FIRSTBOOT_RECONFIG: @@ -400,10 +401,7 @@ self.progress.setPackage(h) self.progress.setPackageScale(0, 1) - self.instLog.write (self.modeText % (h[rpm.RPMTAG_NAME], - h[rpm.RPMTAG_VERSION], - h[rpm.RPMTAG_RELEASE], - h[rpm.RPMTAG_ARCH])) + self.instLog.write (self.modeText % (hdrlist.nevra(h))) self.instLog.flush () self.rpmFD = -1 @@ -566,6 +564,7 @@ if not thefsset.isActive(): diskset.savePartitions () thefsset.checkBadblocks(instPath) + thefsset.createBootRaid(instPath) if not thefsset.volumesCreated: thefsset.createLogicalVolumes(instPath) thefsset.formatSwap(instPath) @@ -652,6 +651,9 @@ log("selected xenU kernel") foundKernel = 1 xenkernel = 1 + select(id.grpset.hdrlist, "kmod-appletalk-xenU") + select(id.grpset.hdrlist, "kmod-ppp-xenU") + select(id.grpset.hdrlist, "kmod-slip-xenU") if selected(id.grpset.hdrlist, "gcc"): select(id.grpset.hdrlist, "kernel-xenU-devel") @@ -679,31 +681,49 @@ if not xenkernel and largesmp_min > 0 and nthreads > largesmp_min and \ select(id.grpset.hdrlist, "kernel-largesmp"): foundKernel = 1 + select(id.grpset.hdrlist, "kmod-appletalk-largesmp") + select(id.grpset.hdrlist, "kmod-ppp-largesmp") + select(id.grpset.hdrlist, "kmod-slip-largesmp") if selected(id.grpset.hdrlist, "gcc"): select(id.grpset.hdrlist, "kernel-largesmp-devel") elif not xenkernel and nthreads > 1: if select(id.grpset.hdrlist, "kernel-smp"): foundkernel = 1 + select(id.grpset.hdrlist, "kmod-appletalk-smp") + select(id.grpset.hdrlist, "kmod-ppp-smp") + select(id.grpset.hdrlist, "kmod-slip-smp") if selected(id.grpset.hdrlist, "gcc"): select(id.grpset.hdrlist, "kernel-smp-devel") if not xenkernel and iutil.needsEnterpriseKernel(): if select(id.grpset.hdrlist, "kernel-bigmem"): foundkernel = 1 + select(id.grpset.hdrlist, "kmod-appletalk-bigmem") + select(id.grpset.hdrlist, "kmod-ppp-bigmemsmp") + select(id.grpset.hdrlist, "kmod-slip-bigmemsmp") if not xenkernel and isys.summitavailable(): if select(id.grpset.hdrlist, "kernel-summit"): foundkernel = 1 + select(id.grpset.hdrlist, "kmod-appletalk-summit") + select(id.grpset.hdrlist, "kmod-ppp-summit") + select(id.grpset.hdrlist, "kmod-slip-summit") if foundkernel == 0: # we *always* need to have some sort of kernel installed select(id.grpset.hdrlist, 'kernel') + select(id.grpset.hdrlist, "kmod-appletalk") + select(id.grpset.hdrlist, "kmod-ppp") + select(id.grpset.hdrlist, "kmod-slip") if xenkernel: log("deselecting kernel since we're installing xen kerenl") # XXX: this is a bit of a hack, but we can't do much better # with the rhel4 anaconda id.grpset.hdrlist["kernel"].manual_state = -2 # MANUAL_OFF + id.grpset.hdrlist["kmod-appletalk"].manual_state = -2 # MANUAL_OFF + id.grpset.hdrlist["kmod-ppp"].manual_state = -2 # MANUAL_OFF + id.grpset.hdrlist["kmod-slip"].manual_state = -2 # MANUAL_OFF if (selected(id.grpset.hdrlist, "gcc") and selected(id.grpset.hdrlist, "kernel")): @@ -1002,9 +1022,9 @@ # dup'd when we go out of scope if upgrade: - modeText = _("Upgrading %s-%s-%s.%s.\n") + modeText = _("Upgrading %s.\n") else: - modeText = _("Installing %s-%s-%s.%s.\n") + modeText = _("Installing %s.\n") log ("getting rpm error class") errors = rpmErrorClass(instLog) @@ -1151,15 +1171,16 @@ if flags.test: return - w = intf.progressWindow(_("Post Install"), - _("Performing post install configuration..."), 6) - upgrade = id.upgrade.get() arch = iutil.getArch () if upgrade: + w = intf.progressWindow(_("Post Upgrade"), + _("Performing post upgrade configuration..."), 6) logname = '/root/upgrade.log' else: + w = intf.progressWindow(_("Post Install"), + _("Performing post install configuration..."), 6) logname = '/root/install.log' instLogName = instPath + logname @@ -1304,13 +1325,10 @@ h = ts.hdrFromFdno(fd) os.close(fd) if upgrade: - text = _("Upgrading %s-%s-%s.%s.\n") + text = _("Upgrading %s.\n") else: - text = _("Installing %s-%s-%s.%s.\n") - instLog.write(text % (h['name'], - h['version'], - h['release'], - h['arch'])) + text = _("Installing %s.\n") + instLog.write(text % (hdrlist.nevra(h))) os.unlink(id.compspkg) del ts @@ -1336,14 +1354,19 @@ instLog.write(_("\n\nThe following packages were available in " "this version but NOT installed:\n")) + ts = rpm.TransactionSet(instPath) + ts.setVSFlags(~(rpm.RPMVSF_NORSA|rpm.RPMVSF_NODSA)) + lines = [] for p in id.grpset.hdrlist.values(): if not p.isSelected(): - lines.append("%s-%s-%s.%s.rpm\n" % - (p.hdr[rpm.RPMTAG_NAME], - p.hdr[rpm.RPMTAG_VERSION], - p.hdr[rpm.RPMTAG_RELEASE], - p.hdr[rpm.RPMTAG_ARCH])) + text = "%s" % (hdrlist.nevra(p)) + for f in ts.dbMatch('name', p.hdr[rpm.RPMTAG_NAME]): + if hdrlist.nevra(p) == hdrlist.nevra(f): + text = "%s (already installed)" % (text) + else: + text = "%s (%s installed)" % (text, hdrlist.nevra(f)) + lines.append("%s\n" % text) lines.sort() for line in lines: instLog.write(line) @@ -1587,7 +1610,7 @@ "from testers, and it is not suitable " "for day to day usage.\n\n" "To report feedback, please visit:\n\n" - " http://www.centos.orrg/bugs\n\n" + " http://bugs.contribs.org/\n\n" "and file a report against '%s'.\n" %(productName, fileagainst)), type="custom", custom_icon="warning", --- anaconda-10.1.1.103/constants.py.smepatches 2009-08-24 09:30:13.000000000 -0600 +++ anaconda-10.1.1.103/constants.py 2009-08-24 09:36:32.000000000 -0600 @@ -73,11 +73,11 @@ "is most likely a bug. Please copy the " "full text of this exception or save the crash " "dump to a floppy then file a detailed bug " - "report against anaconda at " - "http://www.centos.org/bugs/") + "report against the SME Server installer at " + "http://bugs.contribs.org/") exceptionTextNoFloppy = N_("An unhandled exception has occurred. This " "is most likely a bug. Please copy the " "full text of this exception and file a detailed " - "bug report against anaconda at " - "http://www.centos.org/bugs/") + "bug report against the SME Server installer at " + "http://bugs.contribs.org/") --- anaconda-10.1.1.103/raid.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/raid.py 2009-08-24 09:38:59.000000000 -0600 @@ -90,7 +90,17 @@ raidList = [] for key in raidSets.keys(): (level, totalDisks, mdMinor, devices) = raidSets[key] - if len(devices) < totalDisks: + if len(devices) == totalDisks - 1 and level in (1, 5, 6): + log("missing components of raid device md%d. The " + "raid device needs %d drive(s) and only %d (was/were) found. " + "This raid device will be started in degraded mode.", mdMinor, + totalDisks, len(devices)) + elif len(devices) == totalDisks - 2 and level == 6: + log("missing components of raid device md%d. The " + "raid device needs %d drive(s) and only %d (was/were) found. " + "This raid device will be started in degraded mode.", mdMinor, + totalDisks, len(devices)) + elif len(devices) < totalDisks: log("missing components of raid device md%d. The " "raid device needs %d drive(s) and only %d (was/were) found. " "This raid device will not be started.", mdMinor, @@ -160,11 +170,11 @@ if isRaid0(raidlevel): return 2 elif isRaid1(raidlevel): - return 2 + return 1 elif isRaid5(raidlevel): - return 3 + return 2 elif isRaid6(raidlevel): - return 4 + return 2 else: raise ValueError, "invalid raidlevel in get_raid_min_members" --- anaconda-10.1.1.103/bootloader.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/bootloader.py 2009-08-24 09:43:44.000000000 -0600 @@ -186,11 +186,6 @@ except BootyNoKernelWarning: if not justConfigFile: w.pop() - if intf: - intf.messageWindow(_("Warning"), - _("No kernel packages were installed on your " - "system. Your boot loader configuration " - "will not be changed.")) dosync() # note that this function no longer actually creates an initrd. --- anaconda-10.1.1.103/findpackageset.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/findpackageset.py 2009-08-24 09:43:44.000000000 -0600 @@ -108,21 +108,15 @@ # loop through packages and find ones which are a newer # version than what we have for ( name, arch ) in instDict.keys(): - if ( name, arch ) in availDict.keys(): - # Exact arch upgrade - h = instDict[(name, arch)] - pkg = availDict[(name,arch)] - comparePackageForUpgrade(updDict, h, pkg) - else: - # See if we have a better arch than that installed - if name in availNames.keys(): - bestarch = findBestArch(availNames[name]) - if not bestarch: - continue - if availDict.has_key((name,bestarch)): - h = instDict[(name,arch)] - pkg = availDict[(name,bestarch)] - comparePackageForUpgrade(updDict, h, pkg) + # See if we have a better arch than that installed + if name in availNames.keys(): + bestarch = findBestArch(availNames[name]) + if not bestarch: + continue + if availDict.has_key((name,bestarch)): + h = instDict[(name,arch)] + pkg = availDict[(name,bestarch)] + comparePackageForUpgrade(updDict, h, pkg) # handle obsoletes for pkg in hdlist: --- anaconda-10.1.1.103/instdata.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/instdata.py 2009-08-24 09:43:44.000000000 -0600 @@ -116,10 +116,7 @@ def write(self, instPath): self.langSupport.write (instPath) - - if not self.isHeadless: - self.keyboard.write (instPath) - + self.keyboard.write (instPath) self.timezone.write (instPath) self.auth.write (instPath) self.firewall.write (instPath) @@ -172,8 +169,8 @@ self.instLanguage.writeKS(f) self.langSupport.writeKS(f) + self.keyboard.writeKS(f) if not self.isHeadless: - self.keyboard.writeKS(f) self.xsetup.writeKS(f, self.desktop) self.network.writeKS(f) self.zfcp.writeKS(f) --- anaconda-10.1.1.103/kickstart.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/kickstart.py 2009-08-24 09:46:27.000000000 -0600 @@ -98,7 +98,18 @@ class KickstartBase(BaseInstallClass): name = "kickstart" - def postAction(self, rootPath, serial): + def postAction(self, rootPath, serial, intf): + win = intf.waitWindow(_("Post Install Script"), + _("The post installation script is running...")) + + script = ( "/sbin/syslogd &\n" + "sleep 2\n" + "/sbin/e-smith/signal-event post-install\n" ) + s = Script(script, interp="/bin/sh", inChroot=1) + log("%s", s) + s.run(rootPath, serial) + win.pop() + log("Running kickstart %%post script(s)") for script in self.postScripts: script.run(rootPath, serial) --- anaconda-10.1.1.103/lang-table.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/lang-table 2009-08-24 09:43:44.000000000 -0600 @@ -1,41 +1,20 @@ -Arabic ar none ar_SA.UTF-8 us Asia/Riyadh ar_SA.UTF-8 -Bengali bn none bn_BD.UTF-8 us Asia/Dhaka bn_BD.UTF-8 -Bengali(India) bn none bn_IN.UTF-8 us Asia/Calcutta bn_IN.UTF-8 Bulgarian bg latarcyrheb-sun16 bg_BG.UTF-8 bg Europe/Sofia bg_BG.UTF-8 -Catalan ca latarcyrheb-sun16 ca_ES.UTF-8 es Europe/Madrid es_ES.UTF-8 Chinese(Simplified) zh_CN bterm zh_CN.UTF-8 us Asia/Shanghai zh_CN.UTF-8 -Chinese(Traditional) zh_TW bterm zh_TW.UTF-8 us Asia/Taipei zh_TW.UTF-8 -Croatian hr latarcyrheb-sun16 hr_HR.UTF-8 croat Europe/Zagreb hr_HR.UTF-8 -Czech cs latarcyrheb-sun16 cs_CZ.UTF-8 cz-lat2 Europe/Prague cs_CZ.UTF-8 Danish da latarcyrheb-sun16 da_DK.UTF-8 dk Europe/Copenhagen da_DK.UTF-8 Dutch nl latarcyrheb-sun16 nl_NL.UTF-8 nl Europe/Amsterdam nl_NL.UTF-8 English en latarcyrheb-sun16 en_US.UTF-8 us America/New_York en_US.UTF-8 Estonian et latarcyrheb-sun16 et_EE.UTF-8 et Europe/Tallinn et_EE.UTF-8 -Finnish fi latarcyrheb-sun16 fi_FI.UTF-8 fi Europe/Helsinki fi_FI.UTF-8 French fr latarcyrheb-sun16 fr_FR.UTF-8 fr-latin1 Europe/Paris fr_FR.UTF-8 German de latarcyrheb-sun16 de_DE.UTF-8 de-latin1-nodeadkeys Europe/Berlin de_DE.UTF-8 -Gujarati gu none gu_IN.UTF-8 us Asia/Calcutta gu_IN.UTF-8 -Hindi hi none hi_IN.UTF-8 us Asia/Calcutta hi_IN.UTF-8 Hungarian hu latarcyrheb-sun16 hu_HU.UTF-8 hu Europe/Budapest hu_HU.UTF-8 -Icelandic is latarcyrheb-sun16 is_IS.UTF-8 is-latin1 Atlantic/Reykjavik is_IS.UTF-8 Italian it latarcyrheb-sun16 it_IT.UTF-8 it Europe/Rome it_IT.UTF-8 Japanese ja bterm ja_JP.UTF-8 jp106 Asia/Tokyo ja_JP.UTF-8 -Korean ko bterm ko_KR.UTF-8 us Asia/Seoul ko_KR.UTF-8 -Macedonian mk latarcyrheb-sun16 mk_MK.UTF-8 mk Europe/Skopje mk_MK.UTF-8 -Malay ms latarcyrheb-sun16 ms_MY.UTF-8 us Asia/Kuala_Lumpur ms_MY.UTF-8 Norwegian nb latarcyrheb-sun16 nb_NO.UTF-8 no Europe/Oslo nb_NO.UTF-8 -Persian fa none fa_IR.UTF-8 us Asia/Tehran fa_IR.UTF-8 Polish pl latarcyrheb-sun16 pl_PL.UTF-8 pl Europe/Warsaw pl_PL.UTF-8 Portuguese pt latarcyrheb-sun16 pt_PT.UTF-8 pt-latin1 Europe/Lisbon pt_PT.UTF-8 Portuguese(Brazilian) pt_BR latarcyrheb-sun16 pt_BR.UTF-8 br-abnt2 America/Sao_Paulo pt_BR.UTF-8 -Punjabi pa none pa_IN.UTF-8 us Asia/Calcutta pa_IN.UTF-8 Russian ru latarcyrheb-sun16 ru_RU.UTF-8 ru Europe/Moscow ru_RU.UTF-8 Slovenian sl latarcyrheb-sun16 sl_SI.UTF-8 slovene Europe/Ljubljana sl_SI.UTF-8 Spanish es latarcyrheb-sun16 es_ES.UTF-8 es Europe/Madrid es_ES.UTF-8 Swedish sv latarcyrheb-sun16 sv_SE.UTF-8 sv-latin1 Europe/Stockholm sv_SE.UTF-8 -Tamil ta none ta_IN.UTF-8 us Asia/Calcutta ta_IN.UTF-8 Turkish tr latarcyrheb-sun16 tr_TR.UTF-8 trq Europe/Istanbul tr_TR.UTF-8 -Ukrainian uk latarcyrheb-sun16 uk_UA.UTF-8 ua-utf Europe/Kiev uk_UA.UTF-8 -Vietnamese vi latarcyrheb-sun16 vi_VN.UTF-8 us Asia/Saigon vi_VN.UTF-8 -Welsh cy latarcyrheb-sun16 cy_GB.UTF-8 uk Europe/London cy_GB.UTF-8 -Zulu zu latarcyrheb-sun16 zu_ZA.UTF-8 us Africa/Johannesburg zu_ZA.UTF-8 --- anaconda-10.1.1.103/partedUtils.py.smepatches 2009-08-24 09:30:13.000000000 -0600 +++ anaconda-10.1.1.103/partedUtils.py 2009-08-24 09:43:44.000000000 -0600 @@ -473,8 +473,8 @@ return None def getCentOSReleaseString(mountpoint): - if os.access(mountpoint + "/etc/redhat-release", os.R_OK): - f = open(mountpoint + "/etc/redhat-release", "r") + if os.access(mountpoint + "/etc/e-smith-release", os.R_OK): + f = open(mountpoint + "/etc/e-smith-release", "r") try: lines = f.readlines() except IOError: @@ -516,6 +516,7 @@ return 1 productUpgrades = { + "SME Server": ("Mitel Networks", "SME Server", "e-smith server", ), "Red Hat Enterprise Linux AS": ("Red Hat Linux Advanced Server", ), "Red Hat Enterprise Linux WS": ("Red Hat Linux Advanced Workstation",), # FIXME: this probably shouldn't be in a release... --- anaconda-10.1.1.103/upgrade.py.smepatches 2009-08-24 09:30:13.000000000 -0600 +++ anaconda-10.1.1.103/upgrade.py 2009-08-24 09:43:44.000000000 -0600 @@ -49,6 +49,21 @@ upgrade_remove_blacklist = ( ("samba","ppc64"),) def findRootParts(intf, id, dispatch, dir, chroot): +# w = intf.waitWindow(_("Converting to RAID"), +# _("Converting to RAID, this may take several minutes...")) +# +# # XXX - FIXME - HACK RAID upgrade +# +# rc = iutil.execWithRedirect("/tmp/updates/raidconvert", +# ["raidconvert"], +# stdin = None, +# stdout = "/dev/tty5", +# stderr = "/dev/tty5") +# w.pop() +# +# if rc: +# raise SystemError + if dir == DISPATCH_BACK: return if id.rootParts is None: @@ -60,7 +75,7 @@ if id.rootParts is not None and len(id.rootParts) > 0: dispatch.skipStep("findinstall", skip = 0) - if productName.find("Red Hat Enterprise Linux") == -1: + if productName.find("SME Server") == -1: dispatch.skipStep("installtype", skip = 1) else: dispatch.skipStep("findinstall", skip = 1) @@ -513,10 +528,10 @@ pass sys.exit(0) - if not os.access(instPath + "/etc/redhat-release", os.R_OK): + if not os.access(instPath + "/etc/e-smith-release", os.R_OK): rc = intf.messageWindow(_("Warning"), _("This system does not have an " - "/etc/redhat-release file. It is possible " + "/etc/e-smith-release file. It is possible " "that this is not a %s system. " "Continuing with the upgrade process may " "leave the system in an unusable state. Do " @@ -533,7 +548,7 @@ # Figure out current version for upgrade nag and for determining weird # upgrade cases supportedUpgradeVersion = -1 - mi = ts.dbMatch('provides', 'redhat-release') + mi = ts.dbMatch('provides', 'e-smith-release') for h in mi: if h[rpm.RPMTAG_EPOCH] is None: epoch = None @@ -541,7 +556,7 @@ epoch = str(h[rpm.RPMTAG_EPOCH]) if supportedUpgradeVersion <= 0: - val = rpm.labelCompare((None, '3', '1'), + val = rpm.labelCompare(('21', '6.0', '11'), (epoch, h[rpm.RPMTAG_VERSION], h[rpm.RPMTAG_RELEASE])) if val > 0: @@ -550,9 +565,6 @@ supportedUpgradeVersion = 1 break - if productName.find("Red Hat Enterprise Linux") == -1: - supportedUpgradeVersion = 1 - if supportedUpgradeVersion == 0: rc = intf.messageWindow(_("Warning"), _("You appear to be upgrading from a system " --- anaconda-10.1.1.103/dispatch.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/dispatch.py 2009-08-24 09:48:01.000000000 -0600 @@ -155,7 +155,7 @@ ("writeksconfig", writeKSConfiguration, ("id", "instPath")), ("setfilecon", setFileCons, ("instPath","id.partitions")), ("copylogs", copyAnacondaLogs, ("instPath",)), - ("dopostaction", doPostAction, ("id", "instPath")), + ("dopostaction", doPostAction, ("id", "instPath", "intf")), ("methodcomplete", doMethodComplete, ("method",)), ("complete", ()), ] @@ -175,7 +175,8 @@ # we can not go backwards from this screen i = self.step - 1 while i >= self.firstStep: - if not self.skipSteps.has_key(installSteps[i][0]): + if (not self.skipSteps.has_key(installSteps[i][0]) + and (type(installSteps[i][1]) != FunctionType)): return 1 i = i - 1 return 0 --- anaconda-10.1.1.103/installclass.py.smepatches 2009-03-31 05:29:51.000000000 -0600 +++ anaconda-10.1.1.103/installclass.py 2009-08-24 09:45:58.000000000 -0600 @@ -63,7 +63,7 @@ # we can use a different install data class installDataClass = InstallData - def postAction(self, rootPath, serial): + def postAction(self, rootPath, serial, intf): pass def setBootloader(self, id, useLilo=0, location=None, linear=1, --- anaconda-10.1.1.103/text.py.smepatches 2009-08-24 09:30:13.000000000 -0600 +++ anaconda-10.1.1.103/text.py 2009-08-24 09:48:01.000000000 -0600 @@ -506,7 +506,8 @@ "from here. You will have to try " "again."), buttons=[_("OK")]) - dispatch.gotoPrev() + else: + dispatch.gotoPrev() else: dispatch.gotoNext()