from installclass import BaseInstallClass import os from rhpl.log import log import iutil from autopart import autoCreatePartitionRequests from kickstart import Script class FermiInstallClass(BaseInstallClass): pixmap = "workstation.png" def setGroupSelection(self, grpset, intf): BaseInstallClass.__init__(self, grpset) grpset.unselectAll() def postAction(self, rootPath, serial): log("Running post.sh script for workgroup now") for script in self.postScripts: script.run(rootPath, serial) def getFermiTextFile(self, filename): file = "" # fullfilename = todo.method.getFilename(filename,None) # fullfilename = "/mnt/source/" + filename if (os.access('/mnt/source/RHupdates/fermi',os.R_OK)): fullfilename = "/mnt/source/RHupdates/fermi/" + filename else: if (os.access('/tmp/updates/fermi',os.R_OK)): fullfilename = "/tmp/updates/fermi/" + filename else: fullfilename = "/usr/lib/anaconda/fermi/" + filename log("Set fullfilename to: %s", fullfilename) for n in open(fullfilename).readlines(): file = file + n # log("Just read %s into file", fullfilename) return file def setInstallData(self, id): id.instClass = self id.partitions.useAutopartitioning = 0 autorequests = [ ("/", None, 3100, None, 0, 1) ] (minswap, maxswap) = iutil.swapSuggestion() autorequests.append((None, "swap", minswap, maxswap, 0, 1)) id.partitions.autoPartitionRequests = autoCreatePartitionRequests(autorequests) self.setTimezoneInfo( id, "America/Chicago") self.setFirewall( id, enable = 0, trusts = [], ports = "", ssh = 0, telnet = 0, smtp = 0, http = 0, ftp = 0) self.setAuthentication( id , 1 , # useShadow 1 , # useMD5 useKrb5 = 1 , krb5Realm = "FNAL.GOV", krb5Kdc = "krb-fnal-1.fnal.gov:88,krb-fnal-2.fnal.gov:88,krb-fnal-3.fnal.gov:88,krb-fnal-4.fnal.gov:88,krb-fnal-5.fnal.gov:88", krb5Admin = "krb-fnal-admin.fnal.gov", ) #CJS added auththentication back in def setSteps(self, dispatch): dispatch.setStepList( "language", "keyboard", "mouse", "welcome", "findrootparts", "betanag", "installtype", "partitionmethod", "partitionobjinit", "partitionmethodsetup", "autopartition", "autopartitionexecute", "fdisk", "partition", "partitiondone", "bootloadersetup", "bootloader", "networkdevicecheck", "network", "firewall", "languagesupport", "timezone", "accounts", "authentication", "readcomps", "selectlangpackages", "package-selection", "handleX11pkgs", "checkdeps", "dependencies", "videocard", "monitor", "xcustom", "confirminstall", "install", "enablefilesystems", "migratefilesystems", "setuptime", "preinstallconfig", "installpackages", "postinstallconfig", "writeconfig", "firstboot", "instbootloader", "dopostaction", "writexconfig", "writeksconfig", "methodcomplete", "complete" ) if iutil.getArch() != "i386": dispatch.skipStep("bootdisk") if iutil.getArch() != "i386" and iutil.getArch() != "x86_64": dispatch.skipStep("bootloader") # 'noupgrade' can be used on the command line to force not looking # for partitions to upgrade. useful in some cases... cmdline = open("/proc/cmdline", "r").read() if cmdline.find("upgrade") == -1: dispatch.skipStep("findrootparts") def __init__(self, expert): BaseInstallClass.__init__(self, expert) self.postScripts = [] scriptInterp="/bin/sh" scriptChroot=0 ferminame = "post.sh" script = self.getFermiTextFile(ferminame) log("Just called Script ") s = Script(script,scriptInterp,scriptChroot) self.postScripts.append(s)