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 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)
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)
anaconda-patches@lists.fedorahosted.org