[Yum-devel] [PATCH] Quick fix for --enablerepo=broken problem, exit(1) on failures and give reason.

James Antill james at and.org
Thu Jan 31 18:41:41 UTC 2013


---
 repoquery.py |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/repoquery.py b/repoquery.py
index a854c23..3fec3ce 100755
--- a/repoquery.py
+++ b/repoquery.py
@@ -122,6 +122,13 @@ convertmap = { 'date': sec2date,
                'h':  size2h,
              }
 
+def _dieerr(msg, *args, log=None):
+    if not log:
+        print >>sys.stderr, msg, *args
+    else:
+        log(msg, *args)
+    sys.exit(1)
+
 class queryError(Exception):
     def __init__(self, value=None):
         Exception.__init__(self)
@@ -426,8 +433,7 @@ class pkgQuery:
 
 
             except yum.Errors.YumBaseError, err:
-                print >>sys.stderr, "No package provides %s" % req
-                return []
+                _dieerr("No package provides %s, due to err: %s", req, err)
 
             __req2pkgs[req] = providers
             return providers 
@@ -596,8 +602,8 @@ class pkgQuery:
                                       if pkg.pkgtup not in skip]
 
             except yum.Errors.YumBaseError, err:
-                print >>sys.stderr, "No package provides %s" % str(prov)
-                return []
+                _dieerr("No package provides %s, due to err: %s",
+                        str(prov), err)
 
             __prov2pkgs[str(prov)] = arequirers + irequirers
             return arequirers + irequirers
@@ -880,7 +886,8 @@ class YumBaseQuery(yum.YumBase):
             provider = matches.keys()
             # provider.extend(yum.YumBase.returnPackagesByDep(self, depstring))
         except yum.Errors.YumBaseError, err:
-            self.logger.error("No package provides %s" % depstring)
+            _dieerr("No package provides %s, due to err: %s", depstring, err,
+                    log=self.logger.error)
         return self.queryPkgFactory(provider)
 
     def returnGroups(self):
-- 
1.7.6.5



More information about the Yum-devel mailing list