diff options
author | Brian Dolbec <dolsen@gentoo.org> | 2018-03-29 17:42:09 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2018-03-29 20:51:13 -0700 |
commit | e96f1a935d6a20bf178ad5ac915c0456cfa2bb9c (patch) | |
tree | 84ab515005eb0bbdeac083833f19c7a2785f6362 | |
parent | repoman: Move qa_data initialization and loading (diff) | |
download | portage-e96f1a935d6a20bf178ad5ac915c0456cfa2bb9c.tar.gz portage-e96f1a935d6a20bf178ad5ac915c0456cfa2bb9c.tar.bz2 portage-e96f1a935d6a20bf178ad5ac915c0456cfa2bb9c.zip |
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.
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 48d79f188..79fd0a0c2 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 30d839af0..8e0a22f9c 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 938567d4c..4c35bbc12 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: |