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 _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel