Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:repoman commit in: repoman/pym/repoman/modules/scan/metadata/, ...
Date: Fri, 30 Mar 2018 05:21:38
Message-Id: 1522381880.72ab831df749bef1b337f8787068a004c24432e6.zmedico@gentoo
1 commit: 72ab831df749bef1b337f8787068a004c24432e6
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Wed Aug 16 23:24:24 2017 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Fri Mar 30 03:51:20 2018 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=72ab831d
7
8 repoman: Initial adding file/module/API version
9
10 repoman/pym/repoman/config.py | 7 +++++--
11 repoman/pym/repoman/main.py | 3 +++
12 repoman/pym/repoman/modules/linechecks/assignment/__init__.py | 3 ++-
13 repoman/pym/repoman/modules/linechecks/config.py | 2 +-
14 repoman/pym/repoman/modules/linechecks/depend/__init__.py | 3 ++-
15 repoman/pym/repoman/modules/linechecks/deprecated/__init__.py | 3 ++-
16 repoman/pym/repoman/modules/linechecks/do/__init__.py | 3 ++-
17 repoman/pym/repoman/modules/linechecks/eapi/__init__.py | 3 ++-
18 repoman/pym/repoman/modules/linechecks/emake/__init__.py | 3 ++-
19 .../pym/repoman/modules/linechecks/gentoo_header/__init__.py | 3 ++-
20 repoman/pym/repoman/modules/linechecks/helpers/__init__.py | 3 ++-
21 repoman/pym/repoman/modules/linechecks/nested/__init__.py | 3 ++-
22 repoman/pym/repoman/modules/linechecks/patches/__init__.py | 3 ++-
23 repoman/pym/repoman/modules/linechecks/phases/__init__.py | 3 ++-
24 repoman/pym/repoman/modules/linechecks/portage/__init__.py | 3 ++-
25 repoman/pym/repoman/modules/linechecks/quotes/__init__.py | 3 ++-
26 repoman/pym/repoman/modules/linechecks/uri/__init__.py | 3 ++-
27 repoman/pym/repoman/modules/linechecks/use/__init__.py | 3 ++-
28 repoman/pym/repoman/modules/linechecks/useless/__init__.py | 3 ++-
29 repoman/pym/repoman/modules/linechecks/whitespace/__init__.py | 3 ++-
30 repoman/pym/repoman/modules/linechecks/workaround/__init__.py | 3 ++-
31 repoman/pym/repoman/modules/scan/depend/__init__.py | 3 ++-
32 repoman/pym/repoman/modules/scan/directories/__init__.py | 3 ++-
33 repoman/pym/repoman/modules/scan/eapi/__init__.py | 3 ++-
34 repoman/pym/repoman/modules/scan/ebuild/__init__.py | 3 ++-
35 repoman/pym/repoman/modules/scan/eclasses/__init__.py | 3 ++-
36 repoman/pym/repoman/modules/scan/fetch/__init__.py | 3 ++-
37 repoman/pym/repoman/modules/scan/keywords/__init__.py | 3 ++-
38 repoman/pym/repoman/modules/scan/manifest/__init__.py | 3 ++-
39 repoman/pym/repoman/modules/scan/metadata/__init__.py | 3 ++-
40 repoman/pym/repoman/modules/scan/module.py | 10 +++++++---
41 repoman/pym/repoman/modules/scan/options/__init__.py | 3 ++-
42 repoman/pym/repoman/qa_data.py | 4 ++--
43 repoman/pym/repoman/repos.py | 2 +-
44 repoman/pym/repoman/scanner.py | 3 ++-
45 35 files changed, 77 insertions(+), 38 deletions(-)
46
47 diff --git a/repoman/pym/repoman/config.py b/repoman/pym/repoman/config.py
48 index 9da30ed9e..0f2358cd9 100644
49 --- a/repoman/pym/repoman/config.py
50 +++ b/repoman/pym/repoman/config.py
51 @@ -144,8 +144,11 @@ def load_config(conf_dirs, file_extensions=None, valid_versions=None):
52
53 if config:
54 if config['version'] not in valid_versions:
55 - raise ConfigError("Invalid file version: %s in: %s\nPlease upgrade repoman: current valid versions: %s"
56 - % (config['version'], filename, valid_versions))
57 + raise ConfigError(
58 + "Invalid file version: %s in: %s\nPlease upgrade to "
59 + ">=app-portage/repoman-%s, current valid API versions: %s"
60 + % (config['version'], filename,
61 + config['repoman_version'], valid_versions))
62 result = merge_config(result, config)
63
64 return result
65
66 diff --git a/repoman/pym/repoman/main.py b/repoman/pym/repoman/main.py
67 index c1e3b99fe..81e2ff61e 100755
68 --- a/repoman/pym/repoman/main.py
69 +++ b/repoman/pym/repoman/main.py
70 @@ -47,10 +47,12 @@ os.umask(0o22)
71 LOGLEVEL = logging.WARNING
72 portage.util.initialize_logger(LOGLEVEL)
73
74 +VALID_VERSIONS = [1,]
75
76 def repoman_main(argv):
77 config_root = os.environ.get("PORTAGE_CONFIGROOT")
78 repoman_settings = portage.config(config_root=config_root, local_config=False)
79 + repoman_settings.valid_versions = VALID_VERSIONS
80
81 if repoman_settings.get("NOCOLOR", "").lower() in ("yes", "true") or \
82 repoman_settings.get('TERM') == 'dumb' or \
83 @@ -92,6 +94,7 @@ def repoman_main(argv):
84 config_root, portdir, portdir_overlay,
85 repoman_settings, vcs_settings, options, qadata)
86 repoman_settings = repo_settings.repoman_settings
87 + repoman_settings.valid_versions = VALID_VERSIONS
88
89 # Now set repo_settings
90 vcs_settings.repo_settings = repo_settings
91
92 diff --git a/repoman/pym/repoman/modules/linechecks/assignment/__init__.py b/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
93 index 6223baa9f..b95a25a74 100644
94 --- a/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
95 +++ b/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
96 @@ -22,6 +22,7 @@ module_spec = {
97 'class': "Eapi3EbuildAssignment",
98 'description': doc,
99 },
100 - }
101 + },
102 + 'version': 1,
103 }
104
105
106 diff --git a/repoman/pym/repoman/modules/linechecks/config.py b/repoman/pym/repoman/modules/linechecks/config.py
107 index bba43a875..bde2e587f 100644
108 --- a/repoman/pym/repoman/modules/linechecks/config.py
109 +++ b/repoman/pym/repoman/modules/linechecks/config.py
110 @@ -69,7 +69,7 @@ class LineChecksConfig(object):
111 self.infopaths = infopaths
112 elif not self.infopaths:
113 logging.error("LineChecksConfig; Error: No linechecks.yaml files defined")
114 - configs = load_config(self.infopaths, 'yaml')
115 + configs = load_config(self.infopaths, 'yaml', self.repo_settings.repoman_settings.valid_versions)
116 if configs == {}:
117 logging.error("LineChecksConfig: Failed to load a valid 'linechecks.yaml' file at paths: %s", self.infopaths)
118 return False
119
120 diff --git a/repoman/pym/repoman/modules/linechecks/depend/__init__.py b/repoman/pym/repoman/modules/linechecks/depend/__init__.py
121 index e564948c5..2ea95347e 100644
122 --- a/repoman/pym/repoman/modules/linechecks/depend/__init__.py
123 +++ b/repoman/pym/repoman/modules/linechecks/depend/__init__.py
124 @@ -16,6 +16,7 @@ module_spec = {
125 'class': "ImplicitRuntimeDeps",
126 'description': doc,
127 },
128 - }
129 + },
130 + 'version': 1,
131 }
132
133
134 diff --git a/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py b/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
135 index 8c5f61d49..258683345 100644
136 --- a/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
137 +++ b/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
138 @@ -41,6 +41,7 @@ module_spec = {
139 'class': "InheritDeprecated",
140 'description': doc,
141 },
142 - }
143 + },
144 + 'version': 1,
145 }
146
147
148 diff --git a/repoman/pym/repoman/modules/linechecks/do/__init__.py b/repoman/pym/repoman/modules/linechecks/do/__init__.py
149 index a56204794..dc5af701c 100644
150 --- a/repoman/pym/repoman/modules/linechecks/do/__init__.py
151 +++ b/repoman/pym/repoman/modules/linechecks/do/__init__.py
152 @@ -16,6 +16,7 @@ module_spec = {
153 'class': "EbuildNonRelativeDosym",
154 'description': doc,
155 },
156 - }
157 + },
158 + 'version': 1,
159 }
160
161
162 diff --git a/repoman/pym/repoman/modules/linechecks/eapi/__init__.py b/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
163 index e598fdfe3..31993df20 100644
164 --- a/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
165 +++ b/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
166 @@ -46,6 +46,7 @@ module_spec = {
167 'class': "Eapi4GoneVars",
168 'description': doc,
169 },
170 - }
171 + },
172 + 'version': 1,
173 }
174
175
176 diff --git a/repoman/pym/repoman/modules/linechecks/emake/__init__.py b/repoman/pym/repoman/modules/linechecks/emake/__init__.py
177 index 2e930dae8..cecdc5fcf 100644
178 --- a/repoman/pym/repoman/modules/linechecks/emake/__init__.py
179 +++ b/repoman/pym/repoman/modules/linechecks/emake/__init__.py
180 @@ -22,6 +22,7 @@ module_spec = {
181 'class': "WantAutoDefaultValue",
182 'description': doc,
183 },
184 - }
185 + },
186 + 'version': 1,
187 }
188
189
190 diff --git a/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py b/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
191 index b80a83ecf..205cc32c2 100644
192 --- a/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
193 +++ b/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
194 @@ -16,6 +16,7 @@ module_spec = {
195 'class': "EbuildHeader",
196 'description': doc,
197 },
198 - }
199 + },
200 + 'version': 1,
201 }
202
203
204 diff --git a/repoman/pym/repoman/modules/linechecks/helpers/__init__.py b/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
205 index e2d12afe4..0f41f0136 100644
206 --- a/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
207 +++ b/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
208 @@ -16,6 +16,7 @@ module_spec = {
209 'class': "NoOffsetWithHelpers",
210 'description': doc,
211 },
212 - }
213 + },
214 + 'version': 1,
215 }
216
217
218 diff --git a/repoman/pym/repoman/modules/linechecks/nested/__init__.py b/repoman/pym/repoman/modules/linechecks/nested/__init__.py
219 index 8eeeccbac..6c8a70a52 100644
220 --- a/repoman/pym/repoman/modules/linechecks/nested/__init__.py
221 +++ b/repoman/pym/repoman/modules/linechecks/nested/__init__.py
222 @@ -16,6 +16,7 @@ module_spec = {
223 'class': "EbuildNestedDie",
224 'description': doc,
225 },
226 - }
227 + },
228 + 'version': 1,
229 }
230
231
232 diff --git a/repoman/pym/repoman/modules/linechecks/patches/__init__.py b/repoman/pym/repoman/modules/linechecks/patches/__init__.py
233 index 67434f911..4fe0fcf5e 100644
234 --- a/repoman/pym/repoman/modules/linechecks/patches/__init__.py
235 +++ b/repoman/pym/repoman/modules/linechecks/patches/__init__.py
236 @@ -16,6 +16,7 @@ module_spec = {
237 'class': "EbuildPatches",
238 'description': doc,
239 },
240 - }
241 + },
242 + 'version': 1,
243 }
244
245
246 diff --git a/repoman/pym/repoman/modules/linechecks/phases/__init__.py b/repoman/pym/repoman/modules/linechecks/phases/__init__.py
247 index 476443b25..b3228c0f7 100644
248 --- a/repoman/pym/repoman/modules/linechecks/phases/__init__.py
249 +++ b/repoman/pym/repoman/modules/linechecks/phases/__init__.py
250 @@ -29,6 +29,7 @@ module_spec = {
251 'class': "SrcUnpackPatches",
252 'description': doc,
253 },
254 - }
255 + },
256 + 'version': 1,
257 }
258
259
260 diff --git a/repoman/pym/repoman/modules/linechecks/portage/__init__.py b/repoman/pym/repoman/modules/linechecks/portage/__init__.py
261 index d390c6054..b9a84b507 100644
262 --- a/repoman/pym/repoman/modules/linechecks/portage/__init__.py
263 +++ b/repoman/pym/repoman/modules/linechecks/portage/__init__.py
264 @@ -22,6 +22,7 @@ module_spec = {
265 'class': "PortageInternalVariableAssignment",
266 'description': doc,
267 },
268 - }
269 + },
270 + 'version': 1,
271 }
272
273
274 diff --git a/repoman/pym/repoman/modules/linechecks/quotes/__init__.py b/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
275 index 6043ab20c..894ef58d2 100644
276 --- a/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
277 +++ b/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
278 @@ -22,6 +22,7 @@ module_spec = {
279 'class': "EbuildQuotedA",
280 'description': doc,
281 },
282 - }
283 + },
284 + 'version': 1,
285 }
286
287
288 diff --git a/repoman/pym/repoman/modules/linechecks/uri/__init__.py b/repoman/pym/repoman/modules/linechecks/uri/__init__.py
289 index a7731e3cc..e19617257 100644
290 --- a/repoman/pym/repoman/modules/linechecks/uri/__init__.py
291 +++ b/repoman/pym/repoman/modules/linechecks/uri/__init__.py
292 @@ -16,6 +16,7 @@ module_spec = {
293 'class': "UriUseHttps",
294 'description': doc,
295 },
296 - }
297 + },
298 + 'version': 1,
299 }
300
301
302 diff --git a/repoman/pym/repoman/modules/linechecks/use/__init__.py b/repoman/pym/repoman/modules/linechecks/use/__init__.py
303 index e5665d2d8..e97b0d61d 100644
304 --- a/repoman/pym/repoman/modules/linechecks/use/__init__.py
305 +++ b/repoman/pym/repoman/modules/linechecks/use/__init__.py
306 @@ -16,6 +16,7 @@ module_spec = {
307 'class': "BuiltWithUse",
308 'description': doc,
309 },
310 - }
311 + },
312 + 'version': 1,
313 }
314
315
316 diff --git a/repoman/pym/repoman/modules/linechecks/useless/__init__.py b/repoman/pym/repoman/modules/linechecks/useless/__init__.py
317 index acc4479f5..5cf978137 100644
318 --- a/repoman/pym/repoman/modules/linechecks/useless/__init__.py
319 +++ b/repoman/pym/repoman/modules/linechecks/useless/__init__.py
320 @@ -22,6 +22,7 @@ module_spec = {
321 'class': "EbuildUselessDodoc",
322 'description': doc,
323 },
324 - }
325 + },
326 + 'version': 1,
327 }
328
329
330 diff --git a/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py b/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
331 index ded690ed7..716c5129c 100644
332 --- a/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
333 +++ b/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
334 @@ -22,6 +22,7 @@ module_spec = {
335 'class': "EbuildBlankLine",
336 'description': doc,
337 },
338 - }
339 + },
340 + 'version': 1,
341 }
342
343
344 diff --git a/repoman/pym/repoman/modules/linechecks/workaround/__init__.py b/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
345 index 0b5aa70c8..425085a5c 100644
346 --- a/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
347 +++ b/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
348 @@ -22,6 +22,7 @@ module_spec = {
349 'class': "NoAsNeeded",
350 'description': doc,
351 },
352 - }
353 + },
354 + 'version': 1,
355 }
356
357
358 diff --git a/repoman/pym/repoman/modules/scan/depend/__init__.py b/repoman/pym/repoman/modules/scan/depend/__init__.py
359 index bd6905c0b..c3cc0ddeb 100644
360 --- a/repoman/pym/repoman/modules/scan/depend/__init__.py
361 +++ b/repoman/pym/repoman/modules/scan/depend/__init__.py
362 @@ -28,6 +28,7 @@ module_spec = {
363 },
364 'module_runsIn': ['ebuilds'],
365 },
366 - }
367 + },
368 + 'version': 1,
369 }
370
371
372 diff --git a/repoman/pym/repoman/modules/scan/directories/__init__.py b/repoman/pym/repoman/modules/scan/directories/__init__.py
373 index 18ca086ce..276bc7ae9 100644
374 --- a/repoman/pym/repoman/modules/scan/directories/__init__.py
375 +++ b/repoman/pym/repoman/modules/scan/directories/__init__.py
376 @@ -45,6 +45,7 @@ module_spec = {
377 },
378 'module_runsIn': ['ebuilds'],
379 },
380 - }
381 + },
382 + 'version': 1,
383 }
384
385
386 diff --git a/repoman/pym/repoman/modules/scan/eapi/__init__.py b/repoman/pym/repoman/modules/scan/eapi/__init__.py
387 index f6306b3e1..94759fdd7 100644
388 --- a/repoman/pym/repoman/modules/scan/eapi/__init__.py
389 +++ b/repoman/pym/repoman/modules/scan/eapi/__init__.py
390 @@ -25,6 +25,7 @@ module_spec = {
391 },
392 'module_runsIn': ['ebuilds'],
393 },
394 - }
395 + },
396 + 'version': 1,
397 }
398
399
400 diff --git a/repoman/pym/repoman/modules/scan/ebuild/__init__.py b/repoman/pym/repoman/modules/scan/ebuild/__init__.py
401 index 1d8ec1941..328a0d626 100644
402 --- a/repoman/pym/repoman/modules/scan/ebuild/__init__.py
403 +++ b/repoman/pym/repoman/modules/scan/ebuild/__init__.py
404 @@ -55,6 +55,7 @@ module_spec = {
405 },
406 'module_runsIn': ['ebuilds'],
407 },
408 - }
409 + },
410 + 'version': 1,
411 }
412
413
414 diff --git a/repoman/pym/repoman/modules/scan/eclasses/__init__.py b/repoman/pym/repoman/modules/scan/eclasses/__init__.py
415 index 9b1f203ce..234ef9fca 100644
416 --- a/repoman/pym/repoman/modules/scan/eclasses/__init__.py
417 +++ b/repoman/pym/repoman/modules/scan/eclasses/__init__.py
418 @@ -44,6 +44,7 @@ module_spec = {
419 },
420 'module_runsIn': ['ebuilds'],
421 },
422 - }
423 + },
424 + 'version': 1,
425 }
426
427
428 diff --git a/repoman/pym/repoman/modules/scan/fetch/__init__.py b/repoman/pym/repoman/modules/scan/fetch/__init__.py
429 index d1b4f8d0e..30db3f529 100644
430 --- a/repoman/pym/repoman/modules/scan/fetch/__init__.py
431 +++ b/repoman/pym/repoman/modules/scan/fetch/__init__.py
432 @@ -29,6 +29,7 @@ module_spec = {
433 },
434 'module_runsIn': ['pkgs', 'ebuilds'],
435 },
436 - }
437 + },
438 + 'version': 1,
439 }
440
441
442 diff --git a/repoman/pym/repoman/modules/scan/keywords/__init__.py b/repoman/pym/repoman/modules/scan/keywords/__init__.py
443 index 88ea5aca9..d4c1281bc 100644
444 --- a/repoman/pym/repoman/modules/scan/keywords/__init__.py
445 +++ b/repoman/pym/repoman/modules/scan/keywords/__init__.py
446 @@ -29,6 +29,7 @@ module_spec = {
447 },
448 'module_runsIn': ['pkgs', 'ebuilds', 'final'],
449 },
450 - }
451 + },
452 + 'version': 1,
453 }
454
455
456 diff --git a/repoman/pym/repoman/modules/scan/manifest/__init__.py b/repoman/pym/repoman/modules/scan/manifest/__init__.py
457 index 94f0a1f35..9e05c5288 100644
458 --- a/repoman/pym/repoman/modules/scan/manifest/__init__.py
459 +++ b/repoman/pym/repoman/modules/scan/manifest/__init__.py
460 @@ -26,6 +26,7 @@ module_spec = {
461 },
462 'module_runsIn': ['pkgs'],
463 },
464 - }
465 + },
466 + 'version': 1,
467 }
468
469
470 diff --git a/repoman/pym/repoman/modules/scan/metadata/__init__.py b/repoman/pym/repoman/modules/scan/metadata/__init__.py
471 index 2d111b4e0..fccde99b5 100644
472 --- a/repoman/pym/repoman/modules/scan/metadata/__init__.py
473 +++ b/repoman/pym/repoman/modules/scan/metadata/__init__.py
474 @@ -84,6 +84,7 @@ module_spec = {
475 },
476 'module_runsIn': ['ebuilds'],
477 },
478 - }
479 + },
480 + 'version': 1,
481 }
482
483
484 diff --git a/repoman/pym/repoman/modules/scan/module.py b/repoman/pym/repoman/modules/scan/module.py
485 index 5d34eaef0..28d6668d6 100644
486 --- a/repoman/pym/repoman/modules/scan/module.py
487 +++ b/repoman/pym/repoman/modules/scan/module.py
488 @@ -10,6 +10,7 @@ import yaml
489
490 from portage.module import InvalidModuleName, Modules
491 from portage.util import stack_lists
492 +from repoman.config import ConfigError
493
494 MODULES_PATH = os.path.dirname(__file__)
495 # initial development debug info
496 @@ -20,7 +21,7 @@ class ModuleConfig(object):
497 '''Holds the scan modules configuration information and
498 creates the ordered list of modulles to run'''
499
500 - def __init__(self, configpaths):
501 + def __init__(self, configpaths, valid_versions=None):
502 '''Module init
503
504 @param configpaths: ordered list of filepaths to load
505 @@ -37,13 +38,13 @@ class ModuleConfig(object):
506 self.ebuilds_loop = []
507 self.final_loop = []
508 self.modules_forced = ['ebuild', 'mtime']
509 - self.load_configs()
510 + self.load_configs(valid_versions=valid_versions)
511 for loop in ['pkgs', 'ebuilds', 'final']:
512 logging.debug("ModuleConfig; Processing loop %s", loop)
513 setattr(self, '%s_loop' % loop, self._determine_list(loop))
514 self.linechecks = stack_lists(c['linechecks_modules'].split() for c in self._configs)
515
516 - def load_configs(self, configpaths=None):
517 + def load_configs(self, configpaths=None, valid_versions=None):
518 '''load the config files in order
519
520 @param configpaths: ordered list of filepaths to load
521 @@ -62,6 +63,9 @@ class ModuleConfig(object):
522 except IOError as error:
523 logging,error("Failed to load file: %s", inputfile)
524 logging.exception(error)
525 + else:
526 + if configs[-1]['version'] not in valid_versions:
527 + raise ConfigError("Invalid file version: %s in: %s\nPlease upgrade repoman" % (configs['version'], path))
528 logging.debug("ModuleConfig; completed : %s", path)
529 logging.debug("ModuleConfig; new _configs: %s", configs)
530 self._configs = configs
531
532 diff --git a/repoman/pym/repoman/modules/scan/options/__init__.py b/repoman/pym/repoman/modules/scan/options/__init__.py
533 index d62e75274..ffce474e5 100644
534 --- a/repoman/pym/repoman/modules/scan/options/__init__.py
535 +++ b/repoman/pym/repoman/modules/scan/options/__init__.py
536 @@ -24,6 +24,7 @@ module_spec = {
537 },
538 'module_runsIn': ['ebuilds'],
539 },
540 - }
541 + },
542 + 'version': 1,
543 }
544
545
546 diff --git a/repoman/pym/repoman/qa_data.py b/repoman/pym/repoman/qa_data.py
547 index fba0c2d64..11f00d897 100644
548 --- a/repoman/pym/repoman/qa_data.py
549 +++ b/repoman/pym/repoman/qa_data.py
550 @@ -28,14 +28,14 @@ class QAData(object):
551 self.no_exec = None
552
553
554 - def load_repo_config(self, repopaths, options):
555 + def load_repo_config(self, repopaths, options, valid_versions):
556 '''Load the repository repoman qa_data.yml config
557
558 @param repopaths: list of strings, The path of the repository being scanned
559 This could be a parent repository using the
560 repoman_masters layout.conf variable
561 '''
562 - qadata = load_config([os.path.join(path,'qa_data.yaml') for path in repopaths], 'yaml')
563 + qadata = load_config([os.path.join(path,'qa_data.yaml') for path in repopaths], 'yaml', valid_versions)
564 if qadata == {}:
565 logging.error("QAData: Failed to load a valid 'qa_data.yaml' file at paths: %s", repopaths)
566 return False
567
568 diff --git a/repoman/pym/repoman/repos.py b/repoman/pym/repoman/repos.py
569 index e383dbfd1..9c820b08c 100644
570 --- a/repoman/pym/repoman/repos.py
571 +++ b/repoman/pym/repoman/repos.py
572 @@ -53,7 +53,7 @@ class RepoSettings(object):
573 logging.debug("RepoSettings: init(); load qadata")
574 # load the repo specific configuration
575 self.qadata = qadata
576 - if not self.qadata.load_repo_config(self.masters_list, options):
577 + if not self.qadata.load_repo_config(self.masters_list, options, repoman_settings.valid_versions):
578 logging.error("Aborting...")
579 sys.exit(1)
580 logging.debug("RepoSettings: qadata loaded: %s", qadata.no_exec)
581
582 diff --git a/repoman/pym/repoman/scanner.py b/repoman/pym/repoman/scanner.py
583 index d61e50131..f203011e4 100644
584 --- a/repoman/pym/repoman/scanner.py
585 +++ b/repoman/pym/repoman/scanner.py
586 @@ -116,7 +116,8 @@ class Scanner(object):
587
588 # Initialize the ModuleConfig class here
589 # TODO Add layout.conf masters repository.yml config to the list to load/stack
590 - self.moduleconfig = ModuleConfig(self.repo_settings.masters_list)
591 + self.moduleconfig = ModuleConfig(self.repo_settings.masters_list,
592 + self.repo_settings.repoman_settings.valid_versions)
593
594 checks = {}
595 # The --echangelog option causes automatic ChangeLog generation,