diff options
-rw-r--r-- | platform.py | 11 | ||||
-rw-r--r-- | yuminstall.py | 12 |
2 files changed, 12 insertions, 11 deletions
diff --git a/platform.py b/platform.py index 818f6af73..ef9ff0c8d 100644 --- a/platform.py +++ b/platform.py @@ -37,6 +37,7 @@ class Platform(object): architecture quirks in one place to avoid lots of platform checks throughout anaconda.""" _bootFSType = "ext3" + _bootloaderPackage = None _diskType = parted.diskType["msdos"] _minimumSector = 0 @@ -96,6 +97,10 @@ class Platform(object): return ret + @property + def bootloaderPackage(self): + return self._bootloaderPackage + def checkBootRequest(self, req, diskset): """Perform an architecture-specific check on the boot device. Not all platforms may need to do any checks. Raises an exception if there @@ -211,10 +216,13 @@ class Alpha(Platform): return class IA64(EFI): + _bootloaderPackage = "elilo" + def __init__(self, anaconda): EFI.__init__(self, anaconda) class PPC(Platform): + _bootloaderPackage = "yaboot" _ppcMachine = iutil.getPPCMachine() @property @@ -309,6 +317,8 @@ class NewWorldPPC(PPC): return ret class S390(Platform): + _bootloaderPackage = "s390utils" + def __init__(self, anaconda): Platform.__init__(self, anaconda) @@ -323,6 +333,7 @@ class Sparc(Platform): return start+1 class X86(EFI): + _bootloaderPackage = "grub" _isEfi = iutil.isEfi() def __init__(self, anaconda): diff --git a/yuminstall.py b/yuminstall.py index fd859d84e..d66aef67b 100644 --- a/yuminstall.py +++ b/yuminstall.py @@ -1282,17 +1282,6 @@ reposdir=/etc/anaconda.repos.d,/tmp/updates/anaconda.repos.d,/tmp/product/anacon log.debug("selecting kernel-devel") self.selectPackage("kernel-devel.%s" % (kpkg.arch,)) - def selectBootloader(self): - if iutil.isX86(): - self.selectPackage("grub") - elif iutil.isS390(): - self.selectPackage("s390utils") - elif iutil.isPPC(): - self.selectPackage("yaboot") - # XXX this needs to become grub, and we need an upgrade path... - elif iutil.isIA64(): - self.selectPackage("elilo") - def selectFSPackages(self, storage): for device in storage.fsset.devices: # this takes care of device and filesystem packages @@ -1326,6 +1315,7 @@ reposdir=/etc/anaconda.repos.d,/tmp/updates/anaconda.repos.d,/tmp/product/anacon if not anaconda.id.getUpgrade(): # New installs only - upgrades will already have all this stuff. self.selectBestKernel(anaconda) + self.selectPackage(anaconda.platform.bootloaderPackage) self.selectBootloader() self.selectFSPackages(anaconda.id.storage) self.selectAnacondaNeeds() |