From cb01bc6c2053693a3d91ebc19f1664eae2e8d175 Mon Sep 17 00:00:00 2001 From: Chris Lumens Date: Fri, 5 Oct 2012 14:48:47 -0400 Subject: Make sure packages anaconda requires are installed. Our forced packages should be marked for installation after all removals have taken place. --- pyanaconda/packaging/__init__.py | 6 ------ pyanaconda/packaging/yumpayload.py | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/pyanaconda/packaging/__init__.py b/pyanaconda/packaging/__init__.py index c41d06a26..65e377685 100644 --- a/pyanaconda/packaging/__init__.py +++ b/pyanaconda/packaging/__init__.py @@ -521,12 +521,6 @@ class Payload(object): """ Perform pre-installation tasks. """ iutil.mkdirChain(ROOT_PATH + "/root") - if packages: - map(self.selectPackage, packages) - - if groups: - map(self.selectGroup, groups) - def install(self): """ Install the payload. """ raise NotImplementedError() diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py index ab88d9053..6f3160dfa 100644 --- a/pyanaconda/packaging/yumpayload.py +++ b/pyanaconda/packaging/yumpayload.py @@ -109,6 +109,9 @@ class YumPayload(PackagePayload): self._yum = None self._setup = False + self._requiredPackages = [] + self._requiredGroups = [] + self.reset() def reset(self, root=None): @@ -1070,6 +1073,7 @@ reposdir=%s self._handleMissing(e) self.selectKernelPackage() + self.selectRequiredPackages() def checkSoftwareSelection(self): log.info("checking software selection") @@ -1138,11 +1142,21 @@ reposdir=%s if not selected: log.error("failed to select a kernel from %s" % kernels) + def selectRequiredPackages(self): + if self._requiredPackages: + map(self._selectYumPackage, self._requiredPackages) + + if self._requiredGroups: + map(self._selectYumGroup, self._requiredGroups) + def preInstall(self, packages=None, groups=None): """ Perform pre-installation tasks. """ - super(YumPayload, self).preInstall(packages=packages, groups=groups) + super(YumPayload, self).preInstall() progress.send_message(_("Starting package installation process")) + self._requiredPackages = packages + self._requiredGroups = groups + if self.install_device: self._setUpMedia(self.install_device) -- cgit