commit: beb0b8ffa83e9d754909823a49e160b1873fdd74
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 24 15:19:30 2015 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Thu Sep 24 15:23:10 2015 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=beb0b8ff
repoman/checks/ebuilds/fetches.py: Remove the incorrectly cached digests
The digests were incorrectly being cached.
At this point in the operation the digests must be loaded each time since they
are for a
different pkg.
pym/repoman/checks/ebuilds/fetches.py | 26 +++++++++++---------------
1 file changed, 11 insertions(+), 15 deletions(-)
diff --git a/pym/repoman/checks/ebuilds/fetches.py
b/pym/repoman/checks/ebuilds/fetches.py
index 53ed64f..0b9c321 100644
--- a/pym/repoman/checks/ebuilds/fetches.py
+++ b/pym/repoman/checks/ebuilds/fetches.py
@@ -29,7 +29,6 @@ class FetchChecks(object):
self.repo_settings = repo_settings
self.repoman_settings = repoman_settings
self.vcs_settings = vcs_settings
- self._digests = None
def check(self, xpkg, checkdir, checkdir_relative, mychanged, mynew):
'''Checks the ebuild sources and files for errors
@@ -38,7 +37,7 @@ class FetchChecks(object):
@param checkdir: string, directory path
@param checkdir_relative: repolevel determined path
'''
- self.checkdir = checkdir
+ _digests = self.digests(checkdir)
fetchlist_dict = portage.FetchlistDict(
checkdir, self.repoman_settings, self.portdb)
myfiles_all = []
@@ -64,11 +63,11 @@ class FetchChecks(object):
# produce a valid error elsewhere, such as
"SRC_URI.syntax"
# or "ebuild.sytax".
myfiles_all = set(myfiles_all)
- for entry in self.digests:
+ for entry in _digests:
if entry not in myfiles_all:
self.qatracker.add_error("digest.unused", checkdir + "::" + entry)
for entry in myfiles_all:
- if entry not in self.digests:
+ if entry not in _digests:
self.qatracker.add_error("digest.missing", checkdir + "::" + entry)
del myfiles_all
@@ -125,14 +124,11 @@ class FetchChecks(object):
"file.name",
"%s/files/%s: char '%s'" %
(checkdir, y, y[index]))
- @property
- def digests(self):
- '''Property function, returns the saved digests or
- loads them for the test'''
- if not self._digests:
- mf =
self.repoman_settings.repositories.get_repo_for_location(
- os.path.dirname(os.path.dirname(self.checkdir)))
- mf = mf.load_manifest(self.checkdir,
self.repoman_settings["DISTDIR"])
- self._digests = mf.getTypeDigests("DIST")
- del mf
- return self._digests
+ def digests(self, checkdir):
+ '''Returns the freshly loaded digests'''
+ mf = self.repoman_settings.repositories.get_repo_for_location(
+ os.path.dirname(os.path.dirname(checkdir)))
+ mf = mf.load_manifest(checkdir,
self.repoman_settings["DISTDIR"])
+ _digests = mf.getTypeDigests("DIST")
+ del mf
+ return _digests