[PATCH 1/2] Set repo_error.repo attr also when filelists DL fails.

Zdenek Pavlas zpavlas at redhat.com
Mon Sep 30 09:47:13 UTC 2013


sqlitesack code does not do sack.populateSack(mdtype='filelists')
but iterates enabled repos so we don't set the .repo attribute.
Fix this by setting the attr when exception is raised.
---
 yum/repos.py   | 2 --
 yum/yumRepo.py | 9 ++++++---
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/yum/repos.py b/yum/repos.py
index 5d6bc99..67ef1e4 100644
--- a/yum/repos.py
+++ b/yum/repos.py
@@ -88,7 +88,6 @@ class RepoStorage:
                 dl = repo._async and repo._commonLoadRepoXML(repo)
             except Errors.RepoError, e:
                 if not repo.skip_if_unavailable:
-                    e.repo = repo
                     raise
                 self.disableRepo(repo.id)
                 dl = False
@@ -386,7 +385,6 @@ class RepoStorage:
                 if mdtype in ['all', 'metadata'] and repo.skip_if_unavailable:
                     self.disableRepo(repo.id)
                 else:
-                    e.repo = repo
                     raise
             else:
                 self.pkgSack.addSack(repo.id, sack)
diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index b98d3cf..e371676 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -1003,8 +1003,9 @@ Insufficient space in download directory %s
             except URLGrabError, e:
                 self._del_dl_file(local, size)
                 errstr = "failed to retrieve %s from %s\nerror was %s" % (relative, self, e)
-                raise Errors.RepoError, errstr
-
+                e = Errors.RepoError(errstr)
+                e.repo = self
+                raise e
 
         else:
             headers = tuple(self.__headersListFromDict(cache=cache))
@@ -1023,7 +1024,9 @@ Insufficient space in download directory %s
                 self._del_dl_file(local, size)
                 errstr = "failure: %s from %s: %s" % (relative, self, e)
                 errors = getattr(e, 'errors', None)
-                raise Errors.NoMoreMirrorsRepoError(errstr, errors)
+                e = Errors.NoMoreMirrorsRepoError(errstr, errors)
+                e.repo = self
+                raise e
 
         return result
     __get = _getFile
-- 
1.7.11.7



More information about the Yum-devel mailing list