aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Dolbec <dolsen@gentoo.org>2018-03-29 17:42:09 -0700
committerZac Medico <zmedico@gentoo.org>2018-03-29 20:51:13 -0700
commite96f1a935d6a20bf178ad5ac915c0456cfa2bb9c (patch)
tree84ab515005eb0bbdeac083833f19c7a2785f6362
parentrepoman: Move qa_data initialization and loading (diff)
downloadportage-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.
-rw-r--r--repoman/pym/repoman/modules/scan/depend/_depend_checks.py9
-rw-r--r--repoman/pym/repoman/modules/scan/depend/profile.py3
-rw-r--r--repoman/pym/repoman/modules/scan/ebuild/ebuild.py5
-rw-r--r--repoman/pym/repoman/modules/scan/eclasses/__init__.py2
-rw-r--r--repoman/pym/repoman/modules/scan/eclasses/ruby.py5
-rw-r--r--repoman/pym/repoman/modules/scan/metadata/__init__.py4
-rw-r--r--repoman/pym/repoman/modules/scan/metadata/description.py6
-rw-r--r--repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py6
-rw-r--r--repoman/pym/repoman/modules/scan/metadata/restrict.py4
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: