summaryrefslogtreecommitdiffstats
path: root/pyanaconda/packaging
diff options
context:
space:
mode:
authorChris Lumens <clumens@redhat.com>2012-10-19 10:44:35 -0400
committerChris Lumens <clumens@redhat.com>2012-10-19 16:47:44 -0400
commitf4ec3d682ffd93dfc7105eaa09acdd7fd672a3e8 (patch)
tree9672892c8117fdf04931f220e1871c8d2db8d4fc /pyanaconda/packaging
parent91aca5c967eaade8e299c507f56fe8be8a05bb3f (diff)
downloadanaconda-f4ec3d682ffd93dfc7105eaa09acdd7fd672a3e8.tar.gz
anaconda-f4ec3d682ffd93dfc7105eaa09acdd7fd672a3e8.tar.xz
anaconda-f4ec3d682ffd93dfc7105eaa09acdd7fd672a3e8.zip
Hook up the "Remove Packages" button on the dep solving error screen.
All this does is set skip_broken and yum does all the rest. Note that we are still doing dep solving a second time, when the progress hub is up, but adding this setting to the Payload object means skip_broken will be in effect there too. We still need proper error handling for other errors that might occur at that point. This should take care of #865073. I can't think of any cases where you can get past the first hub with a dep solving error.
Diffstat (limited to 'pyanaconda/packaging')
-rw-r--r--pyanaconda/packaging/__init__.py4
-rw-r--r--pyanaconda/packaging/yumpayload.py4
2 files changed, 8 insertions, 0 deletions
diff --git a/pyanaconda/packaging/__init__.py b/pyanaconda/packaging/__init__.py
index 6462a286d..b7402c762 100644
--- a/pyanaconda/packaging/__init__.py
+++ b/pyanaconda/packaging/__init__.py
@@ -640,6 +640,10 @@ class ArchivePayload(ImagePayload):
pass
class PackagePayload(Payload):
+ def __init__(self, *args, **kwargs):
+ Payload.__init__(self, *args, **kwargs)
+ self.skipBroken = False
+
""" A PackagePayload installs a set of packages onto the target system. """
@property
def kernelPackages(self):
diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py
index e42d44368..108992c09 100644
--- a/pyanaconda/packaging/yumpayload.py
+++ b/pyanaconda/packaging/yumpayload.py
@@ -1101,6 +1101,10 @@ reposdir=%s
log.info("checking software selection")
self.txID = time.time()
+ if self.skipBroken:
+ log.info("running software check with skip_broken = True")
+ self._yum.conf.skip_broken = True
+
self.release()
self.deleteYumTS()