--- 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