* [gentoo-commits] proj/portage:repoman commit in: repoman/pym/repoman/modules/scan/metadata/, ...
@ 2017-06-27 20:06 Brian Dolbec
0 siblings, 0 replies; 4+ messages in thread
From: Brian Dolbec @ 2017-06-27 20:06 UTC (permalink / raw
To: gentoo-commits
commit: 882008b713238da4ba9483dab13069c5a80bc354
Author: Brian Dolbec <bdolbec <AT> gaikai <DOT> com>
AuthorDate: Tue Jun 27 17:56:09 2017 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Tue Jun 27 19:51:21 2017 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=882008b7
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.
repoman/pym/repoman/modules/scan/depend/_depend_checks.py | 9 ++++-----
repoman/pym/repoman/modules/scan/depend/profile.py | 3 ++-
repoman/pym/repoman/modules/scan/ebuild/ebuild.py | 5 +++--
repoman/pym/repoman/modules/scan/eclasses/__init__.py | 2 +-
repoman/pym/repoman/modules/scan/eclasses/ruby.py | 5 +++--
repoman/pym/repoman/modules/scan/metadata/__init__.py | 4 ++--
repoman/pym/repoman/modules/scan/metadata/description.py | 6 +++---
repoman/pym/repoman/modules/scan/metadata/ebuild_metadata.py | 6 +++---
repoman/pym/repoman/modules/scan/metadata/restrict.py | 4 ++--
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 11435f99e..cffacc55e 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 cf3d9a8f4..1adda44bb 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 cba8ec5e2..2208047ce 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:
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] proj/portage:repoman commit in: repoman/pym/repoman/modules/scan/metadata/, ...
@ 2017-09-11 21:43 Brian Dolbec
0 siblings, 0 replies; 4+ messages in thread
From: Brian Dolbec @ 2017-09-11 21:43 UTC (permalink / raw
To: gentoo-commits
commit: e04fdbf1448a2353d1c20f26ab6039b0449aac7f
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 16 23:24:24 2017 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Mon Sep 11 16:13:17 2017 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=e04fdbf1
repoman: Initial adding file/module/API version
repoman/pym/repoman/config.py | 7 +++++--
repoman/pym/repoman/main.py | 3 +++
repoman/pym/repoman/modules/linechecks/assignment/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/config.py | 2 +-
repoman/pym/repoman/modules/linechecks/depend/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/deprecated/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/do/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/eapi/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/emake/__init__.py | 3 ++-
| 3 ++-
repoman/pym/repoman/modules/linechecks/helpers/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/nested/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/patches/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/phases/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/portage/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/quotes/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/uri/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/use/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/useless/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/whitespace/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/workaround/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/depend/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/directories/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/eapi/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/ebuild/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/eclasses/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/fetch/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/keywords/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/manifest/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/metadata/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/module.py | 9 ++++++---
repoman/pym/repoman/modules/scan/options/__init__.py | 3 ++-
repoman/pym/repoman/qa_data.py | 4 ++--
repoman/pym/repoman/repos.py | 2 +-
repoman/pym/repoman/scanner.py | 3 ++-
35 files changed, 76 insertions(+), 38 deletions(-)
diff --git a/repoman/pym/repoman/config.py b/repoman/pym/repoman/config.py
index f98130db3..dbf75237c 100644
--- a/repoman/pym/repoman/config.py
+++ b/repoman/pym/repoman/config.py
@@ -142,8 +142,11 @@ def load_config(conf_dirs, file_extensions=None, valid_versions=None):
if config:
if config['version'] not in valid_versions:
- raise ConfigError("Invalid file version: %s in: %s\nPlease upgrade repoman: current valid versions: %s"
- % (config['version'], filename, valid_versions))
+ raise ConfigError(
+ "Invalid file version: %s in: %s\nPlease upgrade to "
+ ">=app-portage/repoman-%s, current valid API versions: %s"
+ % (config['version'], filename,
+ config['repoman_version'], valid_versions))
result = merge_config(result, config)
return result
diff --git a/repoman/pym/repoman/main.py b/repoman/pym/repoman/main.py
index c1e3b99fe..81e2ff61e 100755
--- a/repoman/pym/repoman/main.py
+++ b/repoman/pym/repoman/main.py
@@ -47,10 +47,12 @@ os.umask(0o22)
LOGLEVEL = logging.WARNING
portage.util.initialize_logger(LOGLEVEL)
+VALID_VERSIONS = [1,]
def repoman_main(argv):
config_root = os.environ.get("PORTAGE_CONFIGROOT")
repoman_settings = portage.config(config_root=config_root, local_config=False)
+ repoman_settings.valid_versions = VALID_VERSIONS
if repoman_settings.get("NOCOLOR", "").lower() in ("yes", "true") or \
repoman_settings.get('TERM') == 'dumb' or \
@@ -92,6 +94,7 @@ def repoman_main(argv):
config_root, portdir, portdir_overlay,
repoman_settings, vcs_settings, options, qadata)
repoman_settings = repo_settings.repoman_settings
+ repoman_settings.valid_versions = VALID_VERSIONS
# Now set repo_settings
vcs_settings.repo_settings = repo_settings
diff --git a/repoman/pym/repoman/modules/linechecks/assignment/__init__.py b/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
index 6223baa9f..b95a25a74 100644
--- a/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "Eapi3EbuildAssignment",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/config.py b/repoman/pym/repoman/modules/linechecks/config.py
index 0044afe79..52a9a786b 100644
--- a/repoman/pym/repoman/modules/linechecks/config.py
+++ b/repoman/pym/repoman/modules/linechecks/config.py
@@ -66,7 +66,7 @@ class LineChecksConfig(object):
self.infopaths = infopaths
elif not self.infopaths:
logging.error("LineChecksConfig; Error: No linechecks.yaml files defined")
- configs = load_config(self.infopaths, 'yaml')
+ configs = load_config(self.infopaths, 'yaml', self.repo_settings.repoman_settings.valid_versions)
if configs == {}:
logging.error("LineChecksConfig: Failed to load a valid 'linechecks.yaml' file at paths: %s", self.infopaths)
return False
diff --git a/repoman/pym/repoman/modules/linechecks/depend/__init__.py b/repoman/pym/repoman/modules/linechecks/depend/__init__.py
index e564948c5..2ea95347e 100644
--- a/repoman/pym/repoman/modules/linechecks/depend/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/depend/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "ImplicitRuntimeDeps",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py b/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
index 8c5f61d49..258683345 100644
--- a/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
@@ -41,6 +41,7 @@ module_spec = {
'class': "InheritDeprecated",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/do/__init__.py b/repoman/pym/repoman/modules/linechecks/do/__init__.py
index a56204794..dc5af701c 100644
--- a/repoman/pym/repoman/modules/linechecks/do/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/do/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildNonRelativeDosym",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/eapi/__init__.py b/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
index e598fdfe3..31993df20 100644
--- a/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
@@ -46,6 +46,7 @@ module_spec = {
'class': "Eapi4GoneVars",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/emake/__init__.py b/repoman/pym/repoman/modules/linechecks/emake/__init__.py
index 2e930dae8..cecdc5fcf 100644
--- a/repoman/pym/repoman/modules/linechecks/emake/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/emake/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "WantAutoDefaultValue",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
--git a/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py b/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
index b80a83ecf..205cc32c2 100644
--- a/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildHeader",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/helpers/__init__.py b/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
index e2d12afe4..0f41f0136 100644
--- a/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "NoOffsetWithHelpers",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/nested/__init__.py b/repoman/pym/repoman/modules/linechecks/nested/__init__.py
index 8eeeccbac..6c8a70a52 100644
--- a/repoman/pym/repoman/modules/linechecks/nested/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/nested/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildNestedDie",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/patches/__init__.py b/repoman/pym/repoman/modules/linechecks/patches/__init__.py
index 67434f911..4fe0fcf5e 100644
--- a/repoman/pym/repoman/modules/linechecks/patches/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/patches/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildPatches",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/phases/__init__.py b/repoman/pym/repoman/modules/linechecks/phases/__init__.py
index 476443b25..b3228c0f7 100644
--- a/repoman/pym/repoman/modules/linechecks/phases/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/phases/__init__.py
@@ -29,6 +29,7 @@ module_spec = {
'class': "SrcUnpackPatches",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/portage/__init__.py b/repoman/pym/repoman/modules/linechecks/portage/__init__.py
index d390c6054..b9a84b507 100644
--- a/repoman/pym/repoman/modules/linechecks/portage/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/portage/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "PortageInternalVariableAssignment",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/quotes/__init__.py b/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
index 6043ab20c..894ef58d2 100644
--- a/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "EbuildQuotedA",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/uri/__init__.py b/repoman/pym/repoman/modules/linechecks/uri/__init__.py
index a7731e3cc..e19617257 100644
--- a/repoman/pym/repoman/modules/linechecks/uri/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/uri/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "UriUseHttps",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/use/__init__.py b/repoman/pym/repoman/modules/linechecks/use/__init__.py
index e5665d2d8..e97b0d61d 100644
--- a/repoman/pym/repoman/modules/linechecks/use/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/use/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "BuiltWithUse",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/useless/__init__.py b/repoman/pym/repoman/modules/linechecks/useless/__init__.py
index acc4479f5..5cf978137 100644
--- a/repoman/pym/repoman/modules/linechecks/useless/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/useless/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "EbuildUselessDodoc",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py b/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
index ded690ed7..716c5129c 100644
--- a/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "EbuildBlankLine",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/workaround/__init__.py b/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
index 0b5aa70c8..425085a5c 100644
--- a/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "NoAsNeeded",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/depend/__init__.py b/repoman/pym/repoman/modules/scan/depend/__init__.py
index bd6905c0b..c3cc0ddeb 100644
--- a/repoman/pym/repoman/modules/scan/depend/__init__.py
+++ b/repoman/pym/repoman/modules/scan/depend/__init__.py
@@ -28,6 +28,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/directories/__init__.py b/repoman/pym/repoman/modules/scan/directories/__init__.py
index 18ca086ce..276bc7ae9 100644
--- a/repoman/pym/repoman/modules/scan/directories/__init__.py
+++ b/repoman/pym/repoman/modules/scan/directories/__init__.py
@@ -45,6 +45,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/eapi/__init__.py b/repoman/pym/repoman/modules/scan/eapi/__init__.py
index f6306b3e1..94759fdd7 100644
--- a/repoman/pym/repoman/modules/scan/eapi/__init__.py
+++ b/repoman/pym/repoman/modules/scan/eapi/__init__.py
@@ -25,6 +25,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/ebuild/__init__.py b/repoman/pym/repoman/modules/scan/ebuild/__init__.py
index 1d8ec1941..328a0d626 100644
--- a/repoman/pym/repoman/modules/scan/ebuild/__init__.py
+++ b/repoman/pym/repoman/modules/scan/ebuild/__init__.py
@@ -55,6 +55,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/eclasses/__init__.py b/repoman/pym/repoman/modules/scan/eclasses/__init__.py
index 9b1f203ce..234ef9fca 100644
--- a/repoman/pym/repoman/modules/scan/eclasses/__init__.py
+++ b/repoman/pym/repoman/modules/scan/eclasses/__init__.py
@@ -44,6 +44,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/fetch/__init__.py b/repoman/pym/repoman/modules/scan/fetch/__init__.py
index d1b4f8d0e..30db3f529 100644
--- a/repoman/pym/repoman/modules/scan/fetch/__init__.py
+++ b/repoman/pym/repoman/modules/scan/fetch/__init__.py
@@ -29,6 +29,7 @@ module_spec = {
},
'module_runsIn': ['pkgs', 'ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/keywords/__init__.py b/repoman/pym/repoman/modules/scan/keywords/__init__.py
index 88ea5aca9..d4c1281bc 100644
--- a/repoman/pym/repoman/modules/scan/keywords/__init__.py
+++ b/repoman/pym/repoman/modules/scan/keywords/__init__.py
@@ -29,6 +29,7 @@ module_spec = {
},
'module_runsIn': ['pkgs', 'ebuilds', 'final'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/manifest/__init__.py b/repoman/pym/repoman/modules/scan/manifest/__init__.py
index 94f0a1f35..9e05c5288 100644
--- a/repoman/pym/repoman/modules/scan/manifest/__init__.py
+++ b/repoman/pym/repoman/modules/scan/manifest/__init__.py
@@ -26,6 +26,7 @@ module_spec = {
},
'module_runsIn': ['pkgs'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/metadata/__init__.py b/repoman/pym/repoman/modules/scan/metadata/__init__.py
index 2d111b4e0..fccde99b5 100644
--- a/repoman/pym/repoman/modules/scan/metadata/__init__.py
+++ b/repoman/pym/repoman/modules/scan/metadata/__init__.py
@@ -84,6 +84,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/module.py b/repoman/pym/repoman/modules/scan/module.py
index ba720386c..fc0c66ccb 100644
--- a/repoman/pym/repoman/modules/scan/module.py
+++ b/repoman/pym/repoman/modules/scan/module.py
@@ -10,6 +10,7 @@ import yaml
from portage.module import InvalidModuleName, Modules
from portage.util import stack_lists
+from repoman.config import ConfigError
MODULES_PATH = os.path.dirname(__file__)
# initial development debug info
@@ -20,7 +21,7 @@ class ModuleConfig(object):
'''Holds the scan modules configuration information and
creates the ordered list of modulles to run'''
- def __init__(self, configpaths):
+ def __init__(self, configpaths, valid_versions=None):
'''Module init
@param configpaths: ordered list of filepaths to load
@@ -37,13 +38,13 @@ class ModuleConfig(object):
self.ebuilds_loop = []
self.final_loop = []
self.modules_forced = ['ebuild', 'mtime']
- self.load_configs()
+ self.load_configs(valid_versions=valid_versions)
for loop in ['pkgs', 'ebuilds', 'final']:
logging.debug("ModuleConfig; Processing loop %s", loop)
setattr(self, '%s_loop' % loop, self._determine_list(loop))
self.linechecks = stack_lists(c['linechecks_modules'].split() for c in self._configs)
- def load_configs(self, configpaths=None):
+ def load_configs(self, configpaths=None, valid_versions=None):
'''load the config files in order
@param configpaths: ordered list of filepaths to load
@@ -62,6 +63,8 @@ class ModuleConfig(object):
except IOError as error:
logging,error("Failed to load file: %s", inputfile)
logging.exception(error)
+ if configs[-1]['version'] not in valid_versions:
+ raise ConfigError("Invalid file version: %s in: %s\nPlease upgrade repoman" % (configs['version'], path))
logging.debug("ModuleConfig; completed : %s", path)
logging.debug("ModuleConfig; new _configs: %s", configs)
self._configs = configs
diff --git a/repoman/pym/repoman/modules/scan/options/__init__.py b/repoman/pym/repoman/modules/scan/options/__init__.py
index d62e75274..ffce474e5 100644
--- a/repoman/pym/repoman/modules/scan/options/__init__.py
+++ b/repoman/pym/repoman/modules/scan/options/__init__.py
@@ -24,6 +24,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/qa_data.py b/repoman/pym/repoman/qa_data.py
index e361dd62e..9c415154e 100644
--- a/repoman/pym/repoman/qa_data.py
+++ b/repoman/pym/repoman/qa_data.py
@@ -29,14 +29,14 @@ class QAData(object):
self.no_exec = None
- def load_repo_config(self, repopaths, options):
+ def load_repo_config(self, repopaths, options, valid_versions):
'''Load the repository repoman qa_data.yml config
@param repopaths: list of strings, The path of the repository being scanned
This could be a parent repository using the
repoman_masters layout.conf variable
'''
- qadata = load_config([os.path.join(path,'qa_data.yaml') for path in repopaths], 'yaml')
+ qadata = load_config([os.path.join(path,'qa_data.yaml') for path in repopaths], 'yaml', valid_versions)
if qadata == {}:
logging.error("QAData: Failed to load a valid 'qa_data.yaml' file at paths: %s", repopaths)
return False
diff --git a/repoman/pym/repoman/repos.py b/repoman/pym/repoman/repos.py
index 605c7cffe..4167a7c36 100644
--- a/repoman/pym/repoman/repos.py
+++ b/repoman/pym/repoman/repos.py
@@ -52,7 +52,7 @@ class RepoSettings(object):
logging.debug("RepoSettings: init(); load qadata")
# load the repo specific configuration
self.qadata = qadata
- if not self.qadata.load_repo_config(self.masters_list, options):
+ if not self.qadata.load_repo_config(self.masters_list, options, repoman_settings.valid_versions):
logging.error("Aborting...")
sys.exit(1)
logging.debug("RepoSettings: qadata loaded: %s", qadata.no_exec)
diff --git a/repoman/pym/repoman/scanner.py b/repoman/pym/repoman/scanner.py
index d61e50131..f203011e4 100644
--- a/repoman/pym/repoman/scanner.py
+++ b/repoman/pym/repoman/scanner.py
@@ -116,7 +116,8 @@ class Scanner(object):
# Initialize the ModuleConfig class here
# TODO Add layout.conf masters repository.yml config to the list to load/stack
- self.moduleconfig = ModuleConfig(self.repo_settings.masters_list)
+ self.moduleconfig = ModuleConfig(self.repo_settings.masters_list,
+ self.repo_settings.repoman_settings.valid_versions)
checks = {}
# The --echangelog option causes automatic ChangeLog generation,
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] proj/portage:repoman commit in: repoman/pym/repoman/modules/scan/metadata/, ...
@ 2018-03-30 0:48 Brian Dolbec
0 siblings, 0 replies; 4+ messages in thread
From: Brian Dolbec @ 2018-03-30 0:48 UTC (permalink / raw
To: gentoo-commits
commit: 287bab160e807b595fd12a606956644d7501ca48
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 16 23:24:24 2017 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Fri Mar 30 00:43:46 2018 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=287bab16
repoman: Initial adding file/module/API version
repoman/pym/repoman/config.py | 7 +++++--
repoman/pym/repoman/main.py | 3 +++
repoman/pym/repoman/modules/linechecks/assignment/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/config.py | 2 +-
repoman/pym/repoman/modules/linechecks/depend/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/deprecated/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/do/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/eapi/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/emake/__init__.py | 3 ++-
| 3 ++-
repoman/pym/repoman/modules/linechecks/helpers/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/nested/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/patches/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/phases/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/portage/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/quotes/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/uri/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/use/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/useless/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/whitespace/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/workaround/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/depend/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/directories/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/eapi/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/ebuild/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/eclasses/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/fetch/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/keywords/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/manifest/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/metadata/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/module.py | 9 ++++++---
repoman/pym/repoman/modules/scan/options/__init__.py | 3 ++-
repoman/pym/repoman/qa_data.py | 4 ++--
repoman/pym/repoman/repos.py | 2 +-
repoman/pym/repoman/scanner.py | 3 ++-
35 files changed, 76 insertions(+), 38 deletions(-)
diff --git a/repoman/pym/repoman/config.py b/repoman/pym/repoman/config.py
index 9da30ed9e..0f2358cd9 100644
--- a/repoman/pym/repoman/config.py
+++ b/repoman/pym/repoman/config.py
@@ -144,8 +144,11 @@ def load_config(conf_dirs, file_extensions=None, valid_versions=None):
if config:
if config['version'] not in valid_versions:
- raise ConfigError("Invalid file version: %s in: %s\nPlease upgrade repoman: current valid versions: %s"
- % (config['version'], filename, valid_versions))
+ raise ConfigError(
+ "Invalid file version: %s in: %s\nPlease upgrade to "
+ ">=app-portage/repoman-%s, current valid API versions: %s"
+ % (config['version'], filename,
+ config['repoman_version'], valid_versions))
result = merge_config(result, config)
return result
diff --git a/repoman/pym/repoman/main.py b/repoman/pym/repoman/main.py
index c1e3b99fe..81e2ff61e 100755
--- a/repoman/pym/repoman/main.py
+++ b/repoman/pym/repoman/main.py
@@ -47,10 +47,12 @@ os.umask(0o22)
LOGLEVEL = logging.WARNING
portage.util.initialize_logger(LOGLEVEL)
+VALID_VERSIONS = [1,]
def repoman_main(argv):
config_root = os.environ.get("PORTAGE_CONFIGROOT")
repoman_settings = portage.config(config_root=config_root, local_config=False)
+ repoman_settings.valid_versions = VALID_VERSIONS
if repoman_settings.get("NOCOLOR", "").lower() in ("yes", "true") or \
repoman_settings.get('TERM') == 'dumb' or \
@@ -92,6 +94,7 @@ def repoman_main(argv):
config_root, portdir, portdir_overlay,
repoman_settings, vcs_settings, options, qadata)
repoman_settings = repo_settings.repoman_settings
+ repoman_settings.valid_versions = VALID_VERSIONS
# Now set repo_settings
vcs_settings.repo_settings = repo_settings
diff --git a/repoman/pym/repoman/modules/linechecks/assignment/__init__.py b/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
index 6223baa9f..b95a25a74 100644
--- a/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "Eapi3EbuildAssignment",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/config.py b/repoman/pym/repoman/modules/linechecks/config.py
index 8ec2b19b3..9190b18cf 100644
--- a/repoman/pym/repoman/modules/linechecks/config.py
+++ b/repoman/pym/repoman/modules/linechecks/config.py
@@ -69,7 +69,7 @@ class LineChecksConfig(object):
self.infopaths = infopaths
elif not self.infopaths:
logging.error("LineChecksConfig; Error: No linechecks.yaml files defined")
- configs = load_config(self.infopaths, 'yaml')
+ configs = load_config(self.infopaths, 'yaml', self.repo_settings.repoman_settings.valid_versions)
if configs == {}:
logging.error("LineChecksConfig: Failed to load a valid 'linechecks.yaml' file at paths: %s", self.infopaths)
return False
diff --git a/repoman/pym/repoman/modules/linechecks/depend/__init__.py b/repoman/pym/repoman/modules/linechecks/depend/__init__.py
index e564948c5..2ea95347e 100644
--- a/repoman/pym/repoman/modules/linechecks/depend/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/depend/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "ImplicitRuntimeDeps",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py b/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
index 8c5f61d49..258683345 100644
--- a/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
@@ -41,6 +41,7 @@ module_spec = {
'class': "InheritDeprecated",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/do/__init__.py b/repoman/pym/repoman/modules/linechecks/do/__init__.py
index a56204794..dc5af701c 100644
--- a/repoman/pym/repoman/modules/linechecks/do/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/do/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildNonRelativeDosym",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/eapi/__init__.py b/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
index e598fdfe3..31993df20 100644
--- a/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
@@ -46,6 +46,7 @@ module_spec = {
'class': "Eapi4GoneVars",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/emake/__init__.py b/repoman/pym/repoman/modules/linechecks/emake/__init__.py
index 2e930dae8..cecdc5fcf 100644
--- a/repoman/pym/repoman/modules/linechecks/emake/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/emake/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "WantAutoDefaultValue",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
--git a/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py b/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
index b80a83ecf..205cc32c2 100644
--- a/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildHeader",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/helpers/__init__.py b/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
index e2d12afe4..0f41f0136 100644
--- a/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "NoOffsetWithHelpers",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/nested/__init__.py b/repoman/pym/repoman/modules/linechecks/nested/__init__.py
index 8eeeccbac..6c8a70a52 100644
--- a/repoman/pym/repoman/modules/linechecks/nested/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/nested/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildNestedDie",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/patches/__init__.py b/repoman/pym/repoman/modules/linechecks/patches/__init__.py
index 67434f911..4fe0fcf5e 100644
--- a/repoman/pym/repoman/modules/linechecks/patches/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/patches/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildPatches",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/phases/__init__.py b/repoman/pym/repoman/modules/linechecks/phases/__init__.py
index 476443b25..b3228c0f7 100644
--- a/repoman/pym/repoman/modules/linechecks/phases/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/phases/__init__.py
@@ -29,6 +29,7 @@ module_spec = {
'class': "SrcUnpackPatches",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/portage/__init__.py b/repoman/pym/repoman/modules/linechecks/portage/__init__.py
index d390c6054..b9a84b507 100644
--- a/repoman/pym/repoman/modules/linechecks/portage/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/portage/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "PortageInternalVariableAssignment",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/quotes/__init__.py b/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
index 6043ab20c..894ef58d2 100644
--- a/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "EbuildQuotedA",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/uri/__init__.py b/repoman/pym/repoman/modules/linechecks/uri/__init__.py
index a7731e3cc..e19617257 100644
--- a/repoman/pym/repoman/modules/linechecks/uri/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/uri/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "UriUseHttps",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/use/__init__.py b/repoman/pym/repoman/modules/linechecks/use/__init__.py
index e5665d2d8..e97b0d61d 100644
--- a/repoman/pym/repoman/modules/linechecks/use/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/use/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "BuiltWithUse",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/useless/__init__.py b/repoman/pym/repoman/modules/linechecks/useless/__init__.py
index acc4479f5..5cf978137 100644
--- a/repoman/pym/repoman/modules/linechecks/useless/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/useless/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "EbuildUselessDodoc",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py b/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
index ded690ed7..716c5129c 100644
--- a/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "EbuildBlankLine",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/workaround/__init__.py b/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
index 0b5aa70c8..425085a5c 100644
--- a/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "NoAsNeeded",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/depend/__init__.py b/repoman/pym/repoman/modules/scan/depend/__init__.py
index bd6905c0b..c3cc0ddeb 100644
--- a/repoman/pym/repoman/modules/scan/depend/__init__.py
+++ b/repoman/pym/repoman/modules/scan/depend/__init__.py
@@ -28,6 +28,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/directories/__init__.py b/repoman/pym/repoman/modules/scan/directories/__init__.py
index 18ca086ce..276bc7ae9 100644
--- a/repoman/pym/repoman/modules/scan/directories/__init__.py
+++ b/repoman/pym/repoman/modules/scan/directories/__init__.py
@@ -45,6 +45,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/eapi/__init__.py b/repoman/pym/repoman/modules/scan/eapi/__init__.py
index f6306b3e1..94759fdd7 100644
--- a/repoman/pym/repoman/modules/scan/eapi/__init__.py
+++ b/repoman/pym/repoman/modules/scan/eapi/__init__.py
@@ -25,6 +25,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/ebuild/__init__.py b/repoman/pym/repoman/modules/scan/ebuild/__init__.py
index 1d8ec1941..328a0d626 100644
--- a/repoman/pym/repoman/modules/scan/ebuild/__init__.py
+++ b/repoman/pym/repoman/modules/scan/ebuild/__init__.py
@@ -55,6 +55,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/eclasses/__init__.py b/repoman/pym/repoman/modules/scan/eclasses/__init__.py
index 9b1f203ce..234ef9fca 100644
--- a/repoman/pym/repoman/modules/scan/eclasses/__init__.py
+++ b/repoman/pym/repoman/modules/scan/eclasses/__init__.py
@@ -44,6 +44,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/fetch/__init__.py b/repoman/pym/repoman/modules/scan/fetch/__init__.py
index d1b4f8d0e..30db3f529 100644
--- a/repoman/pym/repoman/modules/scan/fetch/__init__.py
+++ b/repoman/pym/repoman/modules/scan/fetch/__init__.py
@@ -29,6 +29,7 @@ module_spec = {
},
'module_runsIn': ['pkgs', 'ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/keywords/__init__.py b/repoman/pym/repoman/modules/scan/keywords/__init__.py
index 88ea5aca9..d4c1281bc 100644
--- a/repoman/pym/repoman/modules/scan/keywords/__init__.py
+++ b/repoman/pym/repoman/modules/scan/keywords/__init__.py
@@ -29,6 +29,7 @@ module_spec = {
},
'module_runsIn': ['pkgs', 'ebuilds', 'final'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/manifest/__init__.py b/repoman/pym/repoman/modules/scan/manifest/__init__.py
index 94f0a1f35..9e05c5288 100644
--- a/repoman/pym/repoman/modules/scan/manifest/__init__.py
+++ b/repoman/pym/repoman/modules/scan/manifest/__init__.py
@@ -26,6 +26,7 @@ module_spec = {
},
'module_runsIn': ['pkgs'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/metadata/__init__.py b/repoman/pym/repoman/modules/scan/metadata/__init__.py
index 2d111b4e0..fccde99b5 100644
--- a/repoman/pym/repoman/modules/scan/metadata/__init__.py
+++ b/repoman/pym/repoman/modules/scan/metadata/__init__.py
@@ -84,6 +84,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/module.py b/repoman/pym/repoman/modules/scan/module.py
index ba720386c..fc0c66ccb 100644
--- a/repoman/pym/repoman/modules/scan/module.py
+++ b/repoman/pym/repoman/modules/scan/module.py
@@ -10,6 +10,7 @@ import yaml
from portage.module import InvalidModuleName, Modules
from portage.util import stack_lists
+from repoman.config import ConfigError
MODULES_PATH = os.path.dirname(__file__)
# initial development debug info
@@ -20,7 +21,7 @@ class ModuleConfig(object):
'''Holds the scan modules configuration information and
creates the ordered list of modulles to run'''
- def __init__(self, configpaths):
+ def __init__(self, configpaths, valid_versions=None):
'''Module init
@param configpaths: ordered list of filepaths to load
@@ -37,13 +38,13 @@ class ModuleConfig(object):
self.ebuilds_loop = []
self.final_loop = []
self.modules_forced = ['ebuild', 'mtime']
- self.load_configs()
+ self.load_configs(valid_versions=valid_versions)
for loop in ['pkgs', 'ebuilds', 'final']:
logging.debug("ModuleConfig; Processing loop %s", loop)
setattr(self, '%s_loop' % loop, self._determine_list(loop))
self.linechecks = stack_lists(c['linechecks_modules'].split() for c in self._configs)
- def load_configs(self, configpaths=None):
+ def load_configs(self, configpaths=None, valid_versions=None):
'''load the config files in order
@param configpaths: ordered list of filepaths to load
@@ -62,6 +63,8 @@ class ModuleConfig(object):
except IOError as error:
logging,error("Failed to load file: %s", inputfile)
logging.exception(error)
+ if configs[-1]['version'] not in valid_versions:
+ raise ConfigError("Invalid file version: %s in: %s\nPlease upgrade repoman" % (configs['version'], path))
logging.debug("ModuleConfig; completed : %s", path)
logging.debug("ModuleConfig; new _configs: %s", configs)
self._configs = configs
diff --git a/repoman/pym/repoman/modules/scan/options/__init__.py b/repoman/pym/repoman/modules/scan/options/__init__.py
index d62e75274..ffce474e5 100644
--- a/repoman/pym/repoman/modules/scan/options/__init__.py
+++ b/repoman/pym/repoman/modules/scan/options/__init__.py
@@ -24,6 +24,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/qa_data.py b/repoman/pym/repoman/qa_data.py
index fba0c2d64..11f00d897 100644
--- a/repoman/pym/repoman/qa_data.py
+++ b/repoman/pym/repoman/qa_data.py
@@ -28,14 +28,14 @@ class QAData(object):
self.no_exec = None
- def load_repo_config(self, repopaths, options):
+ def load_repo_config(self, repopaths, options, valid_versions):
'''Load the repository repoman qa_data.yml config
@param repopaths: list of strings, The path of the repository being scanned
This could be a parent repository using the
repoman_masters layout.conf variable
'''
- qadata = load_config([os.path.join(path,'qa_data.yaml') for path in repopaths], 'yaml')
+ qadata = load_config([os.path.join(path,'qa_data.yaml') for path in repopaths], 'yaml', valid_versions)
if qadata == {}:
logging.error("QAData: Failed to load a valid 'qa_data.yaml' file at paths: %s", repopaths)
return False
diff --git a/repoman/pym/repoman/repos.py b/repoman/pym/repoman/repos.py
index e383dbfd1..9c820b08c 100644
--- a/repoman/pym/repoman/repos.py
+++ b/repoman/pym/repoman/repos.py
@@ -53,7 +53,7 @@ class RepoSettings(object):
logging.debug("RepoSettings: init(); load qadata")
# load the repo specific configuration
self.qadata = qadata
- if not self.qadata.load_repo_config(self.masters_list, options):
+ if not self.qadata.load_repo_config(self.masters_list, options, repoman_settings.valid_versions):
logging.error("Aborting...")
sys.exit(1)
logging.debug("RepoSettings: qadata loaded: %s", qadata.no_exec)
diff --git a/repoman/pym/repoman/scanner.py b/repoman/pym/repoman/scanner.py
index d61e50131..f203011e4 100644
--- a/repoman/pym/repoman/scanner.py
+++ b/repoman/pym/repoman/scanner.py
@@ -116,7 +116,8 @@ class Scanner(object):
# Initialize the ModuleConfig class here
# TODO Add layout.conf masters repository.yml config to the list to load/stack
- self.moduleconfig = ModuleConfig(self.repo_settings.masters_list)
+ self.moduleconfig = ModuleConfig(self.repo_settings.masters_list,
+ self.repo_settings.repoman_settings.valid_versions)
checks = {}
# The --echangelog option causes automatic ChangeLog generation,
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-commits] proj/portage:repoman commit in: repoman/pym/repoman/modules/scan/metadata/, ...
@ 2018-03-30 5:20 Zac Medico
0 siblings, 0 replies; 4+ messages in thread
From: Zac Medico @ 2018-03-30 5:20 UTC (permalink / raw
To: gentoo-commits
commit: 72ab831df749bef1b337f8787068a004c24432e6
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 16 23:24:24 2017 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri Mar 30 03:51:20 2018 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=72ab831d
repoman: Initial adding file/module/API version
repoman/pym/repoman/config.py | 7 +++++--
repoman/pym/repoman/main.py | 3 +++
repoman/pym/repoman/modules/linechecks/assignment/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/config.py | 2 +-
repoman/pym/repoman/modules/linechecks/depend/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/deprecated/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/do/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/eapi/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/emake/__init__.py | 3 ++-
| 3 ++-
repoman/pym/repoman/modules/linechecks/helpers/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/nested/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/patches/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/phases/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/portage/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/quotes/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/uri/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/use/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/useless/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/whitespace/__init__.py | 3 ++-
repoman/pym/repoman/modules/linechecks/workaround/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/depend/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/directories/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/eapi/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/ebuild/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/eclasses/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/fetch/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/keywords/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/manifest/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/metadata/__init__.py | 3 ++-
repoman/pym/repoman/modules/scan/module.py | 10 +++++++---
repoman/pym/repoman/modules/scan/options/__init__.py | 3 ++-
repoman/pym/repoman/qa_data.py | 4 ++--
repoman/pym/repoman/repos.py | 2 +-
repoman/pym/repoman/scanner.py | 3 ++-
35 files changed, 77 insertions(+), 38 deletions(-)
diff --git a/repoman/pym/repoman/config.py b/repoman/pym/repoman/config.py
index 9da30ed9e..0f2358cd9 100644
--- a/repoman/pym/repoman/config.py
+++ b/repoman/pym/repoman/config.py
@@ -144,8 +144,11 @@ def load_config(conf_dirs, file_extensions=None, valid_versions=None):
if config:
if config['version'] not in valid_versions:
- raise ConfigError("Invalid file version: %s in: %s\nPlease upgrade repoman: current valid versions: %s"
- % (config['version'], filename, valid_versions))
+ raise ConfigError(
+ "Invalid file version: %s in: %s\nPlease upgrade to "
+ ">=app-portage/repoman-%s, current valid API versions: %s"
+ % (config['version'], filename,
+ config['repoman_version'], valid_versions))
result = merge_config(result, config)
return result
diff --git a/repoman/pym/repoman/main.py b/repoman/pym/repoman/main.py
index c1e3b99fe..81e2ff61e 100755
--- a/repoman/pym/repoman/main.py
+++ b/repoman/pym/repoman/main.py
@@ -47,10 +47,12 @@ os.umask(0o22)
LOGLEVEL = logging.WARNING
portage.util.initialize_logger(LOGLEVEL)
+VALID_VERSIONS = [1,]
def repoman_main(argv):
config_root = os.environ.get("PORTAGE_CONFIGROOT")
repoman_settings = portage.config(config_root=config_root, local_config=False)
+ repoman_settings.valid_versions = VALID_VERSIONS
if repoman_settings.get("NOCOLOR", "").lower() in ("yes", "true") or \
repoman_settings.get('TERM') == 'dumb' or \
@@ -92,6 +94,7 @@ def repoman_main(argv):
config_root, portdir, portdir_overlay,
repoman_settings, vcs_settings, options, qadata)
repoman_settings = repo_settings.repoman_settings
+ repoman_settings.valid_versions = VALID_VERSIONS
# Now set repo_settings
vcs_settings.repo_settings = repo_settings
diff --git a/repoman/pym/repoman/modules/linechecks/assignment/__init__.py b/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
index 6223baa9f..b95a25a74 100644
--- a/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/assignment/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "Eapi3EbuildAssignment",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/config.py b/repoman/pym/repoman/modules/linechecks/config.py
index bba43a875..bde2e587f 100644
--- a/repoman/pym/repoman/modules/linechecks/config.py
+++ b/repoman/pym/repoman/modules/linechecks/config.py
@@ -69,7 +69,7 @@ class LineChecksConfig(object):
self.infopaths = infopaths
elif not self.infopaths:
logging.error("LineChecksConfig; Error: No linechecks.yaml files defined")
- configs = load_config(self.infopaths, 'yaml')
+ configs = load_config(self.infopaths, 'yaml', self.repo_settings.repoman_settings.valid_versions)
if configs == {}:
logging.error("LineChecksConfig: Failed to load a valid 'linechecks.yaml' file at paths: %s", self.infopaths)
return False
diff --git a/repoman/pym/repoman/modules/linechecks/depend/__init__.py b/repoman/pym/repoman/modules/linechecks/depend/__init__.py
index e564948c5..2ea95347e 100644
--- a/repoman/pym/repoman/modules/linechecks/depend/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/depend/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "ImplicitRuntimeDeps",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py b/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
index 8c5f61d49..258683345 100644
--- a/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/deprecated/__init__.py
@@ -41,6 +41,7 @@ module_spec = {
'class': "InheritDeprecated",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/do/__init__.py b/repoman/pym/repoman/modules/linechecks/do/__init__.py
index a56204794..dc5af701c 100644
--- a/repoman/pym/repoman/modules/linechecks/do/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/do/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildNonRelativeDosym",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/eapi/__init__.py b/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
index e598fdfe3..31993df20 100644
--- a/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/eapi/__init__.py
@@ -46,6 +46,7 @@ module_spec = {
'class': "Eapi4GoneVars",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/emake/__init__.py b/repoman/pym/repoman/modules/linechecks/emake/__init__.py
index 2e930dae8..cecdc5fcf 100644
--- a/repoman/pym/repoman/modules/linechecks/emake/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/emake/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "WantAutoDefaultValue",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
--git a/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py b/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
index b80a83ecf..205cc32c2 100644
--- a/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/gentoo_header/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildHeader",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/helpers/__init__.py b/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
index e2d12afe4..0f41f0136 100644
--- a/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/helpers/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "NoOffsetWithHelpers",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/nested/__init__.py b/repoman/pym/repoman/modules/linechecks/nested/__init__.py
index 8eeeccbac..6c8a70a52 100644
--- a/repoman/pym/repoman/modules/linechecks/nested/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/nested/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildNestedDie",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/patches/__init__.py b/repoman/pym/repoman/modules/linechecks/patches/__init__.py
index 67434f911..4fe0fcf5e 100644
--- a/repoman/pym/repoman/modules/linechecks/patches/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/patches/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "EbuildPatches",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/phases/__init__.py b/repoman/pym/repoman/modules/linechecks/phases/__init__.py
index 476443b25..b3228c0f7 100644
--- a/repoman/pym/repoman/modules/linechecks/phases/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/phases/__init__.py
@@ -29,6 +29,7 @@ module_spec = {
'class': "SrcUnpackPatches",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/portage/__init__.py b/repoman/pym/repoman/modules/linechecks/portage/__init__.py
index d390c6054..b9a84b507 100644
--- a/repoman/pym/repoman/modules/linechecks/portage/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/portage/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "PortageInternalVariableAssignment",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/quotes/__init__.py b/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
index 6043ab20c..894ef58d2 100644
--- a/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/quotes/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "EbuildQuotedA",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/uri/__init__.py b/repoman/pym/repoman/modules/linechecks/uri/__init__.py
index a7731e3cc..e19617257 100644
--- a/repoman/pym/repoman/modules/linechecks/uri/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/uri/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "UriUseHttps",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/use/__init__.py b/repoman/pym/repoman/modules/linechecks/use/__init__.py
index e5665d2d8..e97b0d61d 100644
--- a/repoman/pym/repoman/modules/linechecks/use/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/use/__init__.py
@@ -16,6 +16,7 @@ module_spec = {
'class': "BuiltWithUse",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/useless/__init__.py b/repoman/pym/repoman/modules/linechecks/useless/__init__.py
index acc4479f5..5cf978137 100644
--- a/repoman/pym/repoman/modules/linechecks/useless/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/useless/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "EbuildUselessDodoc",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py b/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
index ded690ed7..716c5129c 100644
--- a/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/whitespace/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "EbuildBlankLine",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/linechecks/workaround/__init__.py b/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
index 0b5aa70c8..425085a5c 100644
--- a/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
+++ b/repoman/pym/repoman/modules/linechecks/workaround/__init__.py
@@ -22,6 +22,7 @@ module_spec = {
'class': "NoAsNeeded",
'description': doc,
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/depend/__init__.py b/repoman/pym/repoman/modules/scan/depend/__init__.py
index bd6905c0b..c3cc0ddeb 100644
--- a/repoman/pym/repoman/modules/scan/depend/__init__.py
+++ b/repoman/pym/repoman/modules/scan/depend/__init__.py
@@ -28,6 +28,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/directories/__init__.py b/repoman/pym/repoman/modules/scan/directories/__init__.py
index 18ca086ce..276bc7ae9 100644
--- a/repoman/pym/repoman/modules/scan/directories/__init__.py
+++ b/repoman/pym/repoman/modules/scan/directories/__init__.py
@@ -45,6 +45,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/eapi/__init__.py b/repoman/pym/repoman/modules/scan/eapi/__init__.py
index f6306b3e1..94759fdd7 100644
--- a/repoman/pym/repoman/modules/scan/eapi/__init__.py
+++ b/repoman/pym/repoman/modules/scan/eapi/__init__.py
@@ -25,6 +25,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/ebuild/__init__.py b/repoman/pym/repoman/modules/scan/ebuild/__init__.py
index 1d8ec1941..328a0d626 100644
--- a/repoman/pym/repoman/modules/scan/ebuild/__init__.py
+++ b/repoman/pym/repoman/modules/scan/ebuild/__init__.py
@@ -55,6 +55,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/eclasses/__init__.py b/repoman/pym/repoman/modules/scan/eclasses/__init__.py
index 9b1f203ce..234ef9fca 100644
--- a/repoman/pym/repoman/modules/scan/eclasses/__init__.py
+++ b/repoman/pym/repoman/modules/scan/eclasses/__init__.py
@@ -44,6 +44,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/fetch/__init__.py b/repoman/pym/repoman/modules/scan/fetch/__init__.py
index d1b4f8d0e..30db3f529 100644
--- a/repoman/pym/repoman/modules/scan/fetch/__init__.py
+++ b/repoman/pym/repoman/modules/scan/fetch/__init__.py
@@ -29,6 +29,7 @@ module_spec = {
},
'module_runsIn': ['pkgs', 'ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/keywords/__init__.py b/repoman/pym/repoman/modules/scan/keywords/__init__.py
index 88ea5aca9..d4c1281bc 100644
--- a/repoman/pym/repoman/modules/scan/keywords/__init__.py
+++ b/repoman/pym/repoman/modules/scan/keywords/__init__.py
@@ -29,6 +29,7 @@ module_spec = {
},
'module_runsIn': ['pkgs', 'ebuilds', 'final'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/manifest/__init__.py b/repoman/pym/repoman/modules/scan/manifest/__init__.py
index 94f0a1f35..9e05c5288 100644
--- a/repoman/pym/repoman/modules/scan/manifest/__init__.py
+++ b/repoman/pym/repoman/modules/scan/manifest/__init__.py
@@ -26,6 +26,7 @@ module_spec = {
},
'module_runsIn': ['pkgs'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/metadata/__init__.py b/repoman/pym/repoman/modules/scan/metadata/__init__.py
index 2d111b4e0..fccde99b5 100644
--- a/repoman/pym/repoman/modules/scan/metadata/__init__.py
+++ b/repoman/pym/repoman/modules/scan/metadata/__init__.py
@@ -84,6 +84,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/modules/scan/module.py b/repoman/pym/repoman/modules/scan/module.py
index 5d34eaef0..28d6668d6 100644
--- a/repoman/pym/repoman/modules/scan/module.py
+++ b/repoman/pym/repoman/modules/scan/module.py
@@ -10,6 +10,7 @@ import yaml
from portage.module import InvalidModuleName, Modules
from portage.util import stack_lists
+from repoman.config import ConfigError
MODULES_PATH = os.path.dirname(__file__)
# initial development debug info
@@ -20,7 +21,7 @@ class ModuleConfig(object):
'''Holds the scan modules configuration information and
creates the ordered list of modulles to run'''
- def __init__(self, configpaths):
+ def __init__(self, configpaths, valid_versions=None):
'''Module init
@param configpaths: ordered list of filepaths to load
@@ -37,13 +38,13 @@ class ModuleConfig(object):
self.ebuilds_loop = []
self.final_loop = []
self.modules_forced = ['ebuild', 'mtime']
- self.load_configs()
+ self.load_configs(valid_versions=valid_versions)
for loop in ['pkgs', 'ebuilds', 'final']:
logging.debug("ModuleConfig; Processing loop %s", loop)
setattr(self, '%s_loop' % loop, self._determine_list(loop))
self.linechecks = stack_lists(c['linechecks_modules'].split() for c in self._configs)
- def load_configs(self, configpaths=None):
+ def load_configs(self, configpaths=None, valid_versions=None):
'''load the config files in order
@param configpaths: ordered list of filepaths to load
@@ -62,6 +63,9 @@ class ModuleConfig(object):
except IOError as error:
logging,error("Failed to load file: %s", inputfile)
logging.exception(error)
+ else:
+ if configs[-1]['version'] not in valid_versions:
+ raise ConfigError("Invalid file version: %s in: %s\nPlease upgrade repoman" % (configs['version'], path))
logging.debug("ModuleConfig; completed : %s", path)
logging.debug("ModuleConfig; new _configs: %s", configs)
self._configs = configs
diff --git a/repoman/pym/repoman/modules/scan/options/__init__.py b/repoman/pym/repoman/modules/scan/options/__init__.py
index d62e75274..ffce474e5 100644
--- a/repoman/pym/repoman/modules/scan/options/__init__.py
+++ b/repoman/pym/repoman/modules/scan/options/__init__.py
@@ -24,6 +24,7 @@ module_spec = {
},
'module_runsIn': ['ebuilds'],
},
- }
+ },
+ 'version': 1,
}
diff --git a/repoman/pym/repoman/qa_data.py b/repoman/pym/repoman/qa_data.py
index fba0c2d64..11f00d897 100644
--- a/repoman/pym/repoman/qa_data.py
+++ b/repoman/pym/repoman/qa_data.py
@@ -28,14 +28,14 @@ class QAData(object):
self.no_exec = None
- def load_repo_config(self, repopaths, options):
+ def load_repo_config(self, repopaths, options, valid_versions):
'''Load the repository repoman qa_data.yml config
@param repopaths: list of strings, The path of the repository being scanned
This could be a parent repository using the
repoman_masters layout.conf variable
'''
- qadata = load_config([os.path.join(path,'qa_data.yaml') for path in repopaths], 'yaml')
+ qadata = load_config([os.path.join(path,'qa_data.yaml') for path in repopaths], 'yaml', valid_versions)
if qadata == {}:
logging.error("QAData: Failed to load a valid 'qa_data.yaml' file at paths: %s", repopaths)
return False
diff --git a/repoman/pym/repoman/repos.py b/repoman/pym/repoman/repos.py
index e383dbfd1..9c820b08c 100644
--- a/repoman/pym/repoman/repos.py
+++ b/repoman/pym/repoman/repos.py
@@ -53,7 +53,7 @@ class RepoSettings(object):
logging.debug("RepoSettings: init(); load qadata")
# load the repo specific configuration
self.qadata = qadata
- if not self.qadata.load_repo_config(self.masters_list, options):
+ if not self.qadata.load_repo_config(self.masters_list, options, repoman_settings.valid_versions):
logging.error("Aborting...")
sys.exit(1)
logging.debug("RepoSettings: qadata loaded: %s", qadata.no_exec)
diff --git a/repoman/pym/repoman/scanner.py b/repoman/pym/repoman/scanner.py
index d61e50131..f203011e4 100644
--- a/repoman/pym/repoman/scanner.py
+++ b/repoman/pym/repoman/scanner.py
@@ -116,7 +116,8 @@ class Scanner(object):
# Initialize the ModuleConfig class here
# TODO Add layout.conf masters repository.yml config to the list to load/stack
- self.moduleconfig = ModuleConfig(self.repo_settings.masters_list)
+ self.moduleconfig = ModuleConfig(self.repo_settings.masters_list,
+ self.repo_settings.repoman_settings.valid_versions)
checks = {}
# The --echangelog option causes automatic ChangeLog generation,
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-03-30 5:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-27 20:06 [gentoo-commits] proj/portage:repoman commit in: repoman/pym/repoman/modules/scan/metadata/, Brian Dolbec
-- strict thread matches above, loose matches on Subject: below --
2017-09-11 21:43 Brian Dolbec
2018-03-30 0:48 Brian Dolbec
2018-03-30 5:20 Zac Medico
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox