diff options
-rw-r--r-- | pyanaconda/packaging/__init__.py | 6 | ||||
-rw-r--r-- | 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) |