1 |
commit: c3be69803b3fa4eb1cd532252b28d6a57952e246 |
2 |
Author: Brian Dolbec <bdolbec <AT> gaikai <DOT> com> |
3 |
AuthorDate: Tue Jun 27 17:56:09 2017 +0000 |
4 |
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Jun 27 21:32:53 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=c3be6980 |
7 |
|
8 |
repoman: Update modules for the new QAData class |
9 |
|
10 |
Rather than direct import, now the QAData instance is accessed via |
11 |
repo_settings. Add repo_settings need to all modules requiring QAData |
12 |
access. |
13 |
|
14 |
repoman/pym/repoman/modules/scan/depend/_depend_checks.py | 9 ++++----- |
15 |
repoman/pym/repoman/modules/scan/depend/profile.py | 3 ++- |
16 |
repoman/pym/repoman/modules/scan/ebuild/ebuild.py | 5 +++-- |
17 |
repoman/pym/repoman/modules/scan/eclasses/__init__.py | 2 +- |
18 |
repoman/pym/repoman/modules/scan/eclasses/ruby.py | 5 +++-- |
19 |
repoman/pym/repoman/modules/scan/metadata/__init__.py | 4 ++-- |
20 |
repoman/pym/repoman/modules/scan/metadata/description.py | 6 +++--- |
21 |
repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py | 6 +++--- |
22 |
repoman/pym/repoman/modules/scan/metadata/restrict.py | 4 ++-- |
23 |
9 files changed, 23 insertions(+), 21 deletions(-) |
24 |
|
25 |
diff --git a/repoman/pym/repoman/modules/scan/depend/_depend_checks.py b/repoman/pym/repoman/modules/scan/depend/_depend_checks.py |
26 |
index 11435f99e..cffacc55e 100644 |
27 |
--- a/repoman/pym/repoman/modules/scan/depend/_depend_checks.py |
28 |
+++ b/repoman/pym/repoman/modules/scan/depend/_depend_checks.py |
29 |
@@ -9,7 +9,6 @@ from portage.dep import Atom |
30 |
from repoman.check_missingslot import check_missingslot |
31 |
# import our initialized portage instance |
32 |
from repoman._portage import portage |
33 |
-from repoman.qa_data import suspect_virtual, suspect_rdepend |
34 |
|
35 |
def check_slotop(depstr, is_valid_flag, badsyntax, mytype, |
36 |
qatracker, relative_path): |
37 |
@@ -51,7 +50,7 @@ def check_slotop(depstr, is_valid_flag, badsyntax, mytype, |
38 |
_traverse_tree(branch, in_any_of=in_any_of) |
39 |
_traverse_tree(my_dep_tree, False) |
40 |
|
41 |
-def _depend_checks(ebuild, pkg, portdb, qatracker, repo_metadata): |
42 |
+def _depend_checks(ebuild, pkg, portdb, qatracker, repo_metadata, qadata): |
43 |
'''Checks the ebuild dependencies for errors |
44 |
|
45 |
@param pkg: Package in which we check (object). |
46 |
@@ -111,11 +110,11 @@ def _depend_checks(ebuild, pkg, portdb, qatracker, repo_metadata): |
47 |
|
48 |
if pkg.category != "virtual": |
49 |
if not is_blocker and \ |
50 |
- atom.cp in suspect_virtual: |
51 |
+ atom.cp in qadata.suspect_virtual: |
52 |
qatracker.add_error( |
53 |
'virtual.suspect', ebuild.relative_path + |
54 |
": %s: consider using '%s' instead of '%s'" % |
55 |
- (mytype, suspect_virtual[atom.cp], atom)) |
56 |
+ (mytype, qadata.suspect_virtual[atom.cp], atom)) |
57 |
if not is_blocker and \ |
58 |
atom.cp.startswith("perl-core/"): |
59 |
qatracker.add_error('dependency.perlcore', |
60 |
@@ -141,7 +140,7 @@ def _depend_checks(ebuild, pkg, portdb, qatracker, repo_metadata): |
61 |
" wxwidgets.eclass" % (ebuild.relative_path, mytype)) |
62 |
elif runtime: |
63 |
if not is_blocker and \ |
64 |
- atom.cp in suspect_rdepend: |
65 |
+ atom.cp in qadata.suspect_rdepend: |
66 |
qatracker.add_error( |
67 |
mytype + '.suspect', |
68 |
ebuild.relative_path + ": '%s'" % atom) |
69 |
|
70 |
diff --git a/repoman/pym/repoman/modules/scan/depend/profile.py b/repoman/pym/repoman/modules/scan/depend/profile.py |
71 |
index cf3d9a8f4..1adda44bb 100644 |
72 |
--- a/repoman/pym/repoman/modules/scan/depend/profile.py |
73 |
+++ b/repoman/pym/repoman/modules/scan/depend/profile.py |
74 |
@@ -63,7 +63,8 @@ class ProfileDependsChecks(ScanBase): |
75 |
ebuild = kwargs.get('ebuild').get() |
76 |
pkg = kwargs.get('pkg').get() |
77 |
unknown_pkgs, baddepsyntax = _depend_checks( |
78 |
- ebuild, pkg, self.portdb, self.qatracker, self.repo_metadata) |
79 |
+ ebuild, pkg, self.portdb, self.qatracker, self.repo_metadata, |
80 |
+ self.repo_settings.qadata) |
81 |
|
82 |
relevant_profiles = [] |
83 |
for keyword, arch, groups in _gen_arches(ebuild, self.options, |
84 |
|
85 |
diff --git a/repoman/pym/repoman/modules/scan/ebuild/ebuild.py b/repoman/pym/repoman/modules/scan/ebuild/ebuild.py |
86 |
index 28cb8b407..d2715bc6e 100644 |
87 |
--- a/repoman/pym/repoman/modules/scan/ebuild/ebuild.py |
88 |
+++ b/repoman/pym/repoman/modules/scan/ebuild/ebuild.py |
89 |
@@ -9,7 +9,6 @@ from _emerge.Package import Package |
90 |
from _emerge.RootConfig import RootConfig |
91 |
|
92 |
from repoman.modules.scan.scanbase import ScanBase |
93 |
-from repoman.qa_data import no_exec, allvars |
94 |
# import our initialized portage instance |
95 |
from repoman._portage import portage |
96 |
from portage import os |
97 |
@@ -178,7 +177,8 @@ class Ebuild(ScanBase): |
98 |
pkgs = {} |
99 |
for y in checkdirlist: |
100 |
file_is_ebuild = y.endswith(".ebuild") |
101 |
- file_should_be_non_executable = y in no_exec or file_is_ebuild |
102 |
+ file_should_be_non_executable = ( |
103 |
+ y in self.repo_settings.qadata.no_exec or file_is_ebuild) |
104 |
|
105 |
if file_should_be_non_executable: |
106 |
file_is_executable = stat.S_IMODE( |
107 |
@@ -191,6 +191,7 @@ class Ebuild(ScanBase): |
108 |
ebuildlist.append(pf) |
109 |
catdir = xpkg.split("/")[0] |
110 |
cpv = "%s/%s" % (catdir, pf) |
111 |
+ allvars = self.repo_settings.qadata.allvars |
112 |
try: |
113 |
myaux = dict(zip(allvars, self.portdb.aux_get(cpv, allvars))) |
114 |
except KeyError: |
115 |
|
116 |
diff --git a/repoman/pym/repoman/modules/scan/eclasses/__init__.py b/repoman/pym/repoman/modules/scan/eclasses/__init__.py |
117 |
index 78d46e4b4..01bd29adf 100644 |
118 |
--- a/repoman/pym/repoman/modules/scan/eclasses/__init__.py |
119 |
+++ b/repoman/pym/repoman/modules/scan/eclasses/__init__.py |
120 |
@@ -35,7 +35,7 @@ module_spec = { |
121 |
'functions': ['check'], |
122 |
'func_kwargs': { |
123 |
}, |
124 |
- 'mod_kwargs': ['qatracker' |
125 |
+ 'mod_kwargs': ['qatracker', 'repo_settings' |
126 |
], |
127 |
'func_kwargs': { |
128 |
'ebuild': (None, None), |
129 |
|
130 |
diff --git a/repoman/pym/repoman/modules/scan/eclasses/ruby.py b/repoman/pym/repoman/modules/scan/eclasses/ruby.py |
131 |
index b3501805e..c5adeedf1 100644 |
132 |
--- a/repoman/pym/repoman/modules/scan/eclasses/ruby.py |
133 |
+++ b/repoman/pym/repoman/modules/scan/eclasses/ruby.py |
134 |
@@ -3,7 +3,6 @@ |
135 |
Performs Ruby eclass checks |
136 |
''' |
137 |
|
138 |
-from repoman.qa_data import ruby_deprecated |
139 |
from repoman.modules.scan.scanbase import ScanBase |
140 |
|
141 |
|
142 |
@@ -16,6 +15,7 @@ class RubyEclassChecks(ScanBase): |
143 |
''' |
144 |
super(RubyEclassChecks, self).__init__(**kwargs) |
145 |
self.qatracker = kwargs.get('qatracker') |
146 |
+ self.repo_settings = kwargs.get('repo_settings') |
147 |
self.old_ruby_eclasses = ["ruby-ng", "ruby-fakegem", "ruby"] |
148 |
|
149 |
def check(self, **kwargs): |
150 |
@@ -32,7 +32,8 @@ class RubyEclassChecks(ScanBase): |
151 |
is_inherited, self.old_ruby_eclasses) |
152 |
|
153 |
if is_old_ruby_eclass_inherited: |
154 |
- ruby_intersection = pkg.iuse.all.intersection(ruby_deprecated) |
155 |
+ ruby_intersection = pkg.iuse.all.intersection( |
156 |
+ self.repo_settings.qadata.ruby_deprecated) |
157 |
|
158 |
if ruby_intersection: |
159 |
for myruby in ruby_intersection: |
160 |
|
161 |
diff --git a/repoman/pym/repoman/modules/scan/metadata/__init__.py b/repoman/pym/repoman/modules/scan/metadata/__init__.py |
162 |
index b656d7af0..8e6668b10 100644 |
163 |
--- a/repoman/pym/repoman/modules/scan/metadata/__init__.py |
164 |
+++ b/repoman/pym/repoman/modules/scan/metadata/__init__.py |
165 |
@@ -40,7 +40,7 @@ module_spec = { |
166 |
'functions': ['check'], |
167 |
'func_desc': { |
168 |
}, |
169 |
- 'mod_kwargs': ['qatracker', |
170 |
+ 'mod_kwargs': ['qatracker', 'repo_settings', |
171 |
], |
172 |
'func_kwargs': { |
173 |
'catdir': (None, None), |
174 |
@@ -57,7 +57,7 @@ module_spec = { |
175 |
'functions': ['check'], |
176 |
'func_desc': { |
177 |
}, |
178 |
- 'mod_kwargs': ['qatracker', |
179 |
+ 'mod_kwargs': ['qatracker', 'repo_settings' |
180 |
], |
181 |
'func_kwargs': { |
182 |
'ebuild': (None, None), |
183 |
|
184 |
diff --git a/repoman/pym/repoman/modules/scan/metadata/description.py b/repoman/pym/repoman/modules/scan/metadata/description.py |
185 |
index 79f62e1de..0ce81a2dc 100644 |
186 |
--- a/repoman/pym/repoman/modules/scan/metadata/description.py |
187 |
+++ b/repoman/pym/repoman/modules/scan/metadata/description.py |
188 |
@@ -4,7 +4,6 @@ Perform checks on the DESCRIPTION variable. |
189 |
''' |
190 |
|
191 |
from repoman.modules.scan.scanbase import ScanBase |
192 |
-from repoman.qa_data import max_desc_len |
193 |
|
194 |
|
195 |
class DescriptionChecks(ScanBase): |
196 |
@@ -15,6 +14,7 @@ class DescriptionChecks(ScanBase): |
197 |
@param qatracker: QATracker instance |
198 |
''' |
199 |
self.qatracker = kwargs.get('qatracker') |
200 |
+ self.repo_settings = kwargs.get('repo_settings') |
201 |
|
202 |
def checkTooLong(self, **kwargs): |
203 |
''' |
204 |
@@ -24,12 +24,12 @@ class DescriptionChecks(ScanBase): |
205 |
ebuild = kwargs.get('ebuild').get() |
206 |
pkg = kwargs.get('pkg').get() |
207 |
# 14 is the length of DESCRIPTION="" |
208 |
- if len(pkg._metadata['DESCRIPTION']) > max_desc_len: |
209 |
+ if len(pkg._metadata['DESCRIPTION']) > self.repo_settings.qadata.max_desc_len: |
210 |
self.qatracker.add_error( |
211 |
'DESCRIPTION.toolong', |
212 |
"%s: DESCRIPTION is %d characters (max %d)" % |
213 |
(ebuild.relative_path, len( |
214 |
- pkg._metadata['DESCRIPTION']), max_desc_len)) |
215 |
+ pkg._metadata['DESCRIPTION']), self.repo_settings.qadata.max_desc_len)) |
216 |
return False |
217 |
|
218 |
@property |
219 |
|
220 |
diff --git a/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py b/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py |
221 |
index cba8ec5e2..2208047ce 100644 |
222 |
--- a/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py |
223 |
+++ b/repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py |
224 |
@@ -9,7 +9,6 @@ if sys.hexversion >= 0x3000000: |
225 |
basestring = str |
226 |
|
227 |
from repoman.modules.scan.scanbase import ScanBase |
228 |
-from repoman.qa_data import missingvars |
229 |
|
230 |
from portage.dep import use_reduce |
231 |
|
232 |
@@ -20,6 +19,7 @@ class EbuildMetadata(ScanBase): |
233 |
|
234 |
def __init__(self, **kwargs): |
235 |
self.qatracker = kwargs.get('qatracker') |
236 |
+ self.repo_settings = kwargs.get('repo_settings') |
237 |
|
238 |
def invalidchar(self, **kwargs): |
239 |
ebuild = kwargs.get('ebuild').get() |
240 |
@@ -37,14 +37,14 @@ class EbuildMetadata(ScanBase): |
241 |
|
242 |
def missing(self, **kwargs): |
243 |
ebuild = kwargs.get('ebuild').get() |
244 |
- for pos, missing_var in enumerate(missingvars): |
245 |
+ for pos, missing_var in enumerate(self.repo_settings.qadata.missingvars): |
246 |
if not ebuild.metadata.get(missing_var): |
247 |
if kwargs.get('catdir') == "virtual" and \ |
248 |
missing_var in ("HOMEPAGE", "LICENSE"): |
249 |
continue |
250 |
if ebuild.live_ebuild and missing_var == "KEYWORDS": |
251 |
continue |
252 |
- myqakey = missingvars[pos] + ".missing" |
253 |
+ myqakey = self.repo_settings.qadata.missingvars[pos] + ".missing" |
254 |
self.qatracker.add_error(myqakey, '%s/%s.ebuild' |
255 |
% (kwargs.get('xpkg'), kwargs.get('y_ebuild'))) |
256 |
return False |
257 |
|
258 |
diff --git a/repoman/pym/repoman/modules/scan/metadata/restrict.py b/repoman/pym/repoman/modules/scan/metadata/restrict.py |
259 |
index 0f9c5e52e..99784f231 100644 |
260 |
--- a/repoman/pym/repoman/modules/scan/metadata/restrict.py |
261 |
+++ b/repoman/pym/repoman/modules/scan/metadata/restrict.py |
262 |
@@ -7,7 +7,6 @@ Perform checks on the RESTRICT variable. |
263 |
from repoman._portage import portage |
264 |
|
265 |
from repoman.modules.scan.scanbase import ScanBase |
266 |
-from repoman.qa_data import valid_restrict |
267 |
|
268 |
|
269 |
class RestrictChecks(ScanBase): |
270 |
@@ -18,6 +17,7 @@ class RestrictChecks(ScanBase): |
271 |
@param qatracker: QATracker instance |
272 |
''' |
273 |
self.qatracker = kwargs.get('qatracker') |
274 |
+ self.repo_settings = kwargs.get('repo_settings') |
275 |
|
276 |
def check(self, **kwargs): |
277 |
xpkg = kwargs.get('xpkg') |
278 |
@@ -35,7 +35,7 @@ class RestrictChecks(ScanBase): |
279 |
|
280 |
if myrestrict: |
281 |
myrestrict = set(myrestrict) |
282 |
- mybadrestrict = myrestrict.difference(valid_restrict) |
283 |
+ mybadrestrict = myrestrict.difference(self.repo_settings.qadata.valid_restrict) |
284 |
|
285 |
if mybadrestrict: |
286 |
for mybad in mybadrestrict: |