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

Reply via email to