commit:     76e8ccbb1d8863fb4e1f8ec2404b6e407c410e1c
Author:     Brian Dolbec <bdolbec <AT> gaikai <DOT> com>
AuthorDate: Tue Jun 27 17:56:09 2017 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Tue Jun 27 22:05:14 2017 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=76e8ccbb

repoman: Update modules for the new QAData class

Rather than direct import, now the QAData instance is accessed via
repo_settings.  Add repo_settings need to all modules requiring QAData
access.

 repoman/pym/repoman/modules/scan/depend/_depend_checks.py    | 9 ++++-----
 repoman/pym/repoman/modules/scan/depend/profile.py           | 3 ++-
 repoman/pym/repoman/modules/scan/ebuild/ebuild.py            | 5 +++--
 repoman/pym/repoman/modules/scan/eclasses/__init__.py        | 2 +-
 repoman/pym/repoman/modules/scan/eclasses/ruby.py            | 5 +++--
 repoman/pym/repoman/modules/scan/metadata/__init__.py        | 4 ++--
 repoman/pym/repoman/modules/scan/metadata/description.py     | 6 +++---
 repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py | 6 +++---
 repoman/pym/repoman/modules/scan/metadata/restrict.py        | 4 ++--
 9 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/repoman/pym/repoman/modules/scan/depend/_depend_checks.py 
b/repoman/pym/repoman/modules/scan/depend/_depend_checks.py
index 11435f99e..cffacc55e 100644
--- a/repoman/pym/repoman/modules/scan/depend/_depend_checks.py
+++ b/repoman/pym/repoman/modules/scan/depend/_depend_checks.py
@@ -9,7 +9,6 @@ from portage.dep import Atom
 from repoman.check_missingslot import check_missingslot
 # import our initialized portage instance
 from repoman._portage import portage
-from repoman.qa_data import suspect_virtual, suspect_rdepend
 
 def check_slotop(depstr, is_valid_flag, badsyntax, mytype,
        qatracker, relative_path):
@@ -51,7 +50,7 @@ def check_slotop(depstr, is_valid_flag, badsyntax, mytype,
                                        _traverse_tree(branch, 
in_any_of=in_any_of)
        _traverse_tree(my_dep_tree, False)
 
-def _depend_checks(ebuild, pkg, portdb, qatracker, repo_metadata):
+def _depend_checks(ebuild, pkg, portdb, qatracker, repo_metadata, qadata):
        '''Checks the ebuild dependencies for errors
 
        @param pkg: Package in which we check (object).
@@ -111,11 +110,11 @@ def _depend_checks(ebuild, pkg, portdb, qatracker, 
repo_metadata):
 
                                if pkg.category != "virtual":
                                        if not is_blocker and \
-                                               atom.cp in suspect_virtual:
+                                               atom.cp in 
qadata.suspect_virtual:
                                                qatracker.add_error(
                                                        'virtual.suspect', 
ebuild.relative_path +
                                                        ": %s: consider using 
'%s' instead of '%s'" %
-                                                       (mytype, 
suspect_virtual[atom.cp], atom))
+                                                       (mytype, 
qadata.suspect_virtual[atom.cp], atom))
                                        if not is_blocker and \
                                                
atom.cp.startswith("perl-core/"):
                                                
qatracker.add_error('dependency.perlcore',
@@ -141,7 +140,7 @@ def _depend_checks(ebuild, pkg, portdb, qatracker, 
repo_metadata):
                                                " wxwidgets.eclass" % 
(ebuild.relative_path, mytype))
                                elif runtime:
                                        if not is_blocker and \
-                                               atom.cp in suspect_rdepend:
+                                               atom.cp in 
qadata.suspect_rdepend:
                                                qatracker.add_error(
                                                        mytype + '.suspect',
                                                        ebuild.relative_path + 
": '%s'" % atom)

diff --git a/repoman/pym/repoman/modules/scan/depend/profile.py 
b/repoman/pym/repoman/modules/scan/depend/profile.py
index cf3d9a8f4..1adda44bb 100644
--- a/repoman/pym/repoman/modules/scan/depend/profile.py
+++ b/repoman/pym/repoman/modules/scan/depend/profile.py
@@ -63,7 +63,8 @@ class ProfileDependsChecks(ScanBase):
                ebuild = kwargs.get('ebuild').get()
                pkg = kwargs.get('pkg').get()
                unknown_pkgs, baddepsyntax = _depend_checks(
-                       ebuild, pkg, self.portdb, self.qatracker, 
self.repo_metadata)
+                       ebuild, pkg, self.portdb, self.qatracker, 
self.repo_metadata,
+                       self.repo_settings.qadata)
 
                relevant_profiles = []
                for keyword, arch, groups in _gen_arches(ebuild, self.options,

diff --git a/repoman/pym/repoman/modules/scan/ebuild/ebuild.py 
b/repoman/pym/repoman/modules/scan/ebuild/ebuild.py
index 28cb8b407..d2715bc6e 100644
--- a/repoman/pym/repoman/modules/scan/ebuild/ebuild.py
+++ b/repoman/pym/repoman/modules/scan/ebuild/ebuild.py
@@ -9,7 +9,6 @@ from _emerge.Package import Package
 from _emerge.RootConfig import RootConfig
 
 from repoman.modules.scan.scanbase import ScanBase
-from repoman.qa_data import no_exec, allvars
 # import our initialized portage instance
 from repoman._portage import portage
 from portage import os
@@ -178,7 +177,8 @@ class Ebuild(ScanBase):
                pkgs = {}
                for y in checkdirlist:
                        file_is_ebuild = y.endswith(".ebuild")
-                       file_should_be_non_executable = y in no_exec or 
file_is_ebuild
+                       file_should_be_non_executable = (
+                               y in self.repo_settings.qadata.no_exec or 
file_is_ebuild)
 
                        if file_should_be_non_executable:
                                file_is_executable = stat.S_IMODE(
@@ -191,6 +191,7 @@ class Ebuild(ScanBase):
                                ebuildlist.append(pf)
                                catdir = xpkg.split("/")[0]
                                cpv = "%s/%s" % (catdir, pf)
+                               allvars = self.repo_settings.qadata.allvars
                                try:
                                        myaux = dict(zip(allvars, 
self.portdb.aux_get(cpv, allvars)))
                                except KeyError:

diff --git a/repoman/pym/repoman/modules/scan/eclasses/__init__.py 
b/repoman/pym/repoman/modules/scan/eclasses/__init__.py
index 78d46e4b4..01bd29adf 100644
--- a/repoman/pym/repoman/modules/scan/eclasses/__init__.py
+++ b/repoman/pym/repoman/modules/scan/eclasses/__init__.py
@@ -35,7 +35,7 @@ module_spec = {
                        'functions': ['check'],
                        'func_kwargs': {
                        },
-                       'mod_kwargs': ['qatracker'
+                       'mod_kwargs': ['qatracker', 'repo_settings'
                        ],
                        'func_kwargs': {
                                'ebuild': (None, None),

diff --git a/repoman/pym/repoman/modules/scan/eclasses/ruby.py 
b/repoman/pym/repoman/modules/scan/eclasses/ruby.py
index b3501805e..c5adeedf1 100644
--- a/repoman/pym/repoman/modules/scan/eclasses/ruby.py
+++ b/repoman/pym/repoman/modules/scan/eclasses/ruby.py
@@ -3,7 +3,6 @@
 Performs Ruby eclass checks
 '''
 
-from repoman.qa_data import ruby_deprecated
 from repoman.modules.scan.scanbase import ScanBase
 
 
@@ -16,6 +15,7 @@ class RubyEclassChecks(ScanBase):
                '''
                super(RubyEclassChecks, self).__init__(**kwargs)
                self.qatracker = kwargs.get('qatracker')
+               self.repo_settings = kwargs.get('repo_settings')
                self.old_ruby_eclasses = ["ruby-ng", "ruby-fakegem", "ruby"]
 
        def check(self, **kwargs):
@@ -32,7 +32,8 @@ class RubyEclassChecks(ScanBase):
                        is_inherited, self.old_ruby_eclasses)
 
                if is_old_ruby_eclass_inherited:
-                       ruby_intersection = 
pkg.iuse.all.intersection(ruby_deprecated)
+                       ruby_intersection = pkg.iuse.all.intersection(
+                               self.repo_settings.qadata.ruby_deprecated)
 
                        if ruby_intersection:
                                for myruby in ruby_intersection:

diff --git a/repoman/pym/repoman/modules/scan/metadata/__init__.py 
b/repoman/pym/repoman/modules/scan/metadata/__init__.py
index b656d7af0..8e6668b10 100644
--- a/repoman/pym/repoman/modules/scan/metadata/__init__.py
+++ b/repoman/pym/repoman/modules/scan/metadata/__init__.py
@@ -40,7 +40,7 @@ module_spec = {
                        'functions': ['check'],
                        'func_desc': {
                        },
-                       'mod_kwargs': ['qatracker',
+                       'mod_kwargs': ['qatracker', 'repo_settings',
                        ],
                        'func_kwargs': {
                                'catdir': (None, None),
@@ -57,7 +57,7 @@ module_spec = {
                        'functions': ['check'],
                        'func_desc': {
                        },
-                       'mod_kwargs': ['qatracker',
+                       'mod_kwargs': ['qatracker', 'repo_settings'
                        ],
                        'func_kwargs': {
                                'ebuild': (None, None),

diff --git a/repoman/pym/repoman/modules/scan/metadata/description.py 
b/repoman/pym/repoman/modules/scan/metadata/description.py
index 79f62e1de..0ce81a2dc 100644
--- a/repoman/pym/repoman/modules/scan/metadata/description.py
+++ b/repoman/pym/repoman/modules/scan/metadata/description.py
@@ -4,7 +4,6 @@ Perform checks on the DESCRIPTION variable.
 '''
 
 from repoman.modules.scan.scanbase import ScanBase
-from repoman.qa_data import max_desc_len
 
 
 class DescriptionChecks(ScanBase):
@@ -15,6 +14,7 @@ class DescriptionChecks(ScanBase):
                @param qatracker: QATracker instance
                '''
                self.qatracker = kwargs.get('qatracker')
+               self.repo_settings = kwargs.get('repo_settings')
 
        def checkTooLong(self, **kwargs):
                '''
@@ -24,12 +24,12 @@ class DescriptionChecks(ScanBase):
                ebuild = kwargs.get('ebuild').get()
                pkg = kwargs.get('pkg').get()
                # 14 is the length of DESCRIPTION=""
-               if len(pkg._metadata['DESCRIPTION']) > max_desc_len:
+               if len(pkg._metadata['DESCRIPTION']) > 
self.repo_settings.qadata.max_desc_len:
                        self.qatracker.add_error(
                                'DESCRIPTION.toolong',
                                "%s: DESCRIPTION is %d characters (max %d)" %
                                (ebuild.relative_path, len(
-                                       pkg._metadata['DESCRIPTION']), 
max_desc_len))
+                                       pkg._metadata['DESCRIPTION']), 
self.repo_settings.qadata.max_desc_len))
                return False
 
        @property

diff --git a/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py 
b/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py
index cba8ec5e2..2208047ce 100644
--- a/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py
+++ b/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py
@@ -9,7 +9,6 @@ if sys.hexversion >= 0x3000000:
        basestring = str
 
 from repoman.modules.scan.scanbase import ScanBase
-from repoman.qa_data import missingvars
 
 from portage.dep import use_reduce
 
@@ -20,6 +19,7 @@ class EbuildMetadata(ScanBase):
 
        def __init__(self, **kwargs):
                self.qatracker = kwargs.get('qatracker')
+               self.repo_settings = kwargs.get('repo_settings')
 
        def invalidchar(self, **kwargs):
                ebuild = kwargs.get('ebuild').get()
@@ -37,14 +37,14 @@ class EbuildMetadata(ScanBase):
 
        def missing(self, **kwargs):
                ebuild = kwargs.get('ebuild').get()
-               for pos, missing_var in enumerate(missingvars):
+               for pos, missing_var in 
enumerate(self.repo_settings.qadata.missingvars):
                        if not ebuild.metadata.get(missing_var):
                                if kwargs.get('catdir') == "virtual" and \
                                        missing_var in ("HOMEPAGE", "LICENSE"):
                                        continue
                                if ebuild.live_ebuild and missing_var == 
"KEYWORDS":
                                        continue
-                               myqakey = missingvars[pos] + ".missing"
+                               myqakey = 
self.repo_settings.qadata.missingvars[pos] + ".missing"
                                self.qatracker.add_error(myqakey, '%s/%s.ebuild'
                                        % (kwargs.get('xpkg'), 
kwargs.get('y_ebuild')))
                return False

diff --git a/repoman/pym/repoman/modules/scan/metadata/restrict.py 
b/repoman/pym/repoman/modules/scan/metadata/restrict.py
index 0f9c5e52e..99784f231 100644
--- a/repoman/pym/repoman/modules/scan/metadata/restrict.py
+++ b/repoman/pym/repoman/modules/scan/metadata/restrict.py
@@ -7,7 +7,6 @@ Perform checks on the RESTRICT variable.
 from repoman._portage import portage
 
 from repoman.modules.scan.scanbase import ScanBase
-from repoman.qa_data import valid_restrict
 
 
 class RestrictChecks(ScanBase):
@@ -18,6 +17,7 @@ class RestrictChecks(ScanBase):
                @param qatracker: QATracker instance
                '''
                self.qatracker = kwargs.get('qatracker')
+               self.repo_settings = kwargs.get('repo_settings')
 
        def check(self, **kwargs):
                xpkg = kwargs.get('xpkg')
@@ -35,7 +35,7 @@ class RestrictChecks(ScanBase):
 
                if myrestrict:
                        myrestrict = set(myrestrict)
-                       mybadrestrict = myrestrict.difference(valid_restrict)
+                       mybadrestrict = 
myrestrict.difference(self.repo_settings.qadata.valid_restrict)
 
                        if mybadrestrict:
                                for mybad in mybadrestrict:

Reply via email to