---
 yum/__init__.py |    2 +-
 yum/depsolve.py |    8 ++++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/yum/__init__.py b/yum/__init__.py
index ab2bb9d..d05de2e 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -1184,7 +1184,7 @@ class YumBase(depsolve.Depsolve):
                 else:
                     self.verbose_logger.debug('SKIPBROKEN: resetting already 
resolved packages (no packages to skip)' )
                     self.tsInfo.resetResolved(hard=True)
-            rescode, restring = self.resolveDeps(True)
+            rescode, restring = self.resolveDeps(True, skipping_broken=True)
             endTs = set(self.tsInfo)
              # Check if tsInfo has changes since we started to skip packages
              # if there is no changes then we got a loop.
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 44ccfd7..6d744c0 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -721,7 +721,7 @@ class Depsolve(object):
         p.print_stats(20)
         return rc
 
-    def resolveDeps(self, full_check=True):
+    def resolveDeps(self, full_check=True, skipping_broken=False):
 
         if not len(self.tsInfo):
             return (0, [_('Success - empty transaction')])
@@ -795,7 +795,11 @@ class Depsolve(object):
                 txmbr.ts_state = 'i'
                 txmbr.output_state = TS_INSTALL
 
-        if self.dsCallback: self.dsCallback.end()
+        if self.dsCallback:
+            if not self.conf.skip_broken:
+                self.dsCallback.end()
+            elif not skipping_broken and not errors:
+                self.dsCallback.end()
         self.verbose_logger.log(logginglevels.DEBUG_1, _('Dependency Process 
ending'))
 
         self.tsInfo.changed = False
-- 
1.7.5.2

_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel

Reply via email to