[Yum-devel] [PATCH] Call rpmdb.check_*() directly, now that we can instead of asking the user to do it. Also call for rpm transaction test failures, Eg. kmods.
James Antill
james at and.org
Wed Dec 16 20:21:31 UTC 2009
---
yummain.py | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/yummain.py b/yummain.py
index 92047e7..caaeaf8 100755
--- a/yummain.py
+++ b/yummain.py
@@ -169,10 +169,8 @@ def main(args):
logger.critical(_('Error: %s'), msg)
if not base.conf.skip_broken:
verbose_logger.info(_(" You could try using --skip-broken to work around the problem"))
- verbose_logger.info(_(" You could try running: package-cleanup --problems\n"
- " package-cleanup --dupes\n"
- " rpm -Va --nofiles --nodigest"))
- base.yumUtilsMsg(verbose_logger.info, "package-cleanup")
+ if not base._rpmdb_warn_checks(out=verbose_logger.info, warn=False):
+ verbose_logger.info(_(" You could try running: rpm -Va --nofiles --nodigest"))
if unlock(): return 200
return 1
elif result == 2:
@@ -199,7 +197,17 @@ def main(args):
except IOError, e:
return exIOError(e)
- verbose_logger.log(logginglevels.INFO_2, _('Complete!'))
+ # rpm_check_debug failed.
+ if type(return_code) == type(,) and len(return_code) == 2:
+ (result, resultmsgs) = return_code
+ for msg in resultmsgs:
+ logger.critical("%s", msg)
+ if not base._rpmdb_warn_checks(out=verbose_logger.info, warn=False):
+ verbose_logger.info(_(" You could try running: rpm -Va --nofiles --nodigest"))
+ return_code = result
+ else:
+ verbose_logger.log(logginglevels.INFO_2, _('Complete!'))
+
if unlock(): return 200
return return_code
--
1.6.5.2
More information about the Yum-devel
mailing list