Gentoo Archives: gentoo-commits

From: Brian Dolbec <dolsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:repoman commit in: repoman/pym/repoman/modules/scan/depend/, ...
Date: Tue, 27 Jun 2017 21:36:10
Message-Id: 1498599173.c3be69803b3fa4eb1cd532252b28d6a57952e246.dolsen@gentoo
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: