commit: 76eba030d484b6ff0c4cf1d9d35e4340f373f60c Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org> AuthorDate: Sun Jan 3 11:26:45 2016 +0000 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org> CommitDate: Wed Jan 6 04:08:21 2016 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=76eba030
repoman: Complete ThirdPartyMirrors migration .../modules/scan/mirrors/thirdpartymirrors.py | 23 ++++++++++++++++------ pym/repoman/scanner.py | 4 +--- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/pym/repoman/modules/scan/mirrors/thirdpartymirrors.py b/pym/repoman/modules/scan/mirrors/thirdpartymirrors.py index 533899d..dcc673a 100644 --- a/pym/repoman/modules/scan/mirrors/thirdpartymirrors.py +++ b/pym/repoman/modules/scan/mirrors/thirdpartymirrors.py @@ -8,7 +8,7 @@ class ThirdPartyMirrors(object): def __init__(self, **kwargs): repo_settings = kwargs.get('repo_settings') - self.qa_tracker = kwargs.get('qatracker') + self.qatracker = kwargs.get('qatracker') # TODO: Build a regex instead here, for the SRC_URI.mirror check. self.thirdpartymirrors = {} @@ -19,11 +19,14 @@ class ThirdPartyMirrors(object): mirror += "/" self.thirdpartymirrors[mirror] = mirror_alias - def check(self, myaux, relative_path): + def check(self, **kwargs): + ebuild = kwargs.get('ebuild') + if kwargs.get('src_uri_error'): + return {'continue': True} # Check that URIs don't reference a server from thirdpartymirrors. for uri in portage.dep.use_reduce( - myaux["SRC_URI"], matchall=True, is_src_uri=True, - eapi=myaux["EAPI"], flat=True): + ebuild.metadata["SRC_URI"], matchall=True, is_src_uri=True, + eapi=ebuild.eapi, flat=True): contains_mirror = False for mirror, mirror_alias in self.thirdpartymirrors.items(): if uri.startswith(mirror): @@ -36,5 +39,13 @@ class ThirdPartyMirrors(object): self.qatracker.add_error( "SRC_URI.mirror", "%s: '%s' found in thirdpartymirrors, use '%s'" % ( - relative_path, mirror, new_uri)) - return + ebuild.relative_path, mirror, new_uri)) + return {'continue': False} + + @property + def runInPkgs(self): + return (False, []) + + @property + def runInEbuilds(self): + return (True, [self.check]) diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py index b5a0fce..ca540a7 100644 --- a/pym/repoman/scanner.py +++ b/pym/repoman/scanner.py @@ -300,6 +300,7 @@ class Scanner(object): # need to set it up for ==> self.modules_list or some other ordered list for mod in [('ebuild', 'Ebuild'), ('live', 'LiveEclassChecks'), ('eapi', 'EAPIChecks'), ('ebuild_metadata', 'EbuildMetadata'), + ('thirdpartymirrors', 'ThirdPartyMirrors'), ]: mod_class = MODULE_CONTROLLER.get_class(mod[0]) print("Initializing class name:", mod_class.__name__) @@ -329,9 +330,6 @@ class Scanner(object): print("**** finished plugin loop, continuing...") - if not self.modules['FetchChecks'].src_uri_error: - self.modules['ThirdPartyMirrors'].check(dynamic_data['ebuild'].metadata, dynamic_data['ebuild'].relative_path) - if dynamic_data['ebuild'].metadata.get("PROVIDE"): self.qatracker.add_error("virtual.oldstyle", dynamic_data['ebuild'].relative_path)