[PATCH] Make sure packages anaconda requires are installed.
David Lehman
dlehman at redhat.com
Fri Oct 5 19:45:45 UTC 2012
On Fri, 2012-10-05 at 15:09 -0400, Chris Lumens wrote:
> Our forced packages should be marked for installation after all removals
> have taken place.
I wonder if we'll ever want that package/group selection ability in
Payload.preInstall, but we can always add it back if necessary. Ack.
> ---
> 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 c41d06a..65e3776 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 ab88d90..6f3160d 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)
>
More information about the anaconda-patches
mailing list