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


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

Reply via email to