[Yum-devel] [PATCH] doUtilBuildTransaction: catch _rpmdb_warn_checks errors. BZ 735234
James Antill
james at fedoraproject.org
Tue Feb 14 16:58:03 UTC 2012
On Tue, 2012-02-14 at 16:54 +0100, Zdeněk Pavlas wrote:
> ---
> utils.py | 8 +++++++-
> 1 files changed, 7 insertions(+), 1 deletions(-)
Actually, NAK ... I thought this was just porting a fix from __init__
into utils, but it's not.
Given that I can't think of a reason for _rpmdb_warn_checks to throw an
exception (any reason a caller would want it too) ... I think we should
just catch the exception inside _rpmdb_warn_checks itself, and thus. fix
all callers (what I tried to say the BZ, but probably not well :).
> diff --git a/utils.py b/utils.py
> index 08b09fb..f0f87a3 100755
> --- a/utils.py
> +++ b/utils.py
> @@ -415,7 +415,13 @@ class YumUtilBase(YumBaseCli):
> self.logger.critical(prefix, msg.replace('\n', '\n' + prefix2nd))
> if not self.conf.skip_broken:
> self.verbose_logger.info(_(" You could try using --skip-broken to work around the problem"))
> - if not self._rpmdb_warn_checks(out=self.verbose_logger.info, warn=False):
> + try:
> + probs = self._rpmdb_warn_checks(out=self.verbose_logger.info, warn=False)
> + except YumBaseError, e:
> + # This is mainly for PackageSackError from rpmdb.
> + self.verbose_logger.info(_(" Yum checks failed: %s"), exception2msg(e))
> + probs = []
> + if not probs:
> self.verbose_logger.info(_(" You could try running: rpm -Va --nofiles --nodigest"))
> if self.unlock(): return 200
> return 1
More information about the Yum-devel
mailing list