Gentoo Archives: gentoo-commits

From: Brian Dolbec <dolsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:repoman commit in: pym/repoman/checks/ebuilds/variables/, pym/repoman/, ...
Date: Sun, 31 Jan 2016 20:03:53
Message-Id: 1454185522.4843bcc58083dd16c9c61703606a6b1bdc56de40.dolsen@gentoo
1 commit: 4843bcc58083dd16c9c61703606a6b1bdc56de40
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jan 3 23:10:48 2016 +0000
4 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 30 20:25:22 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=4843bcc5
7
8 repoman: Migrate RestrictChecks to a plugin module
9
10 pym/repoman/modules/scan/metadata/__init__.py | 9 +++++++
11 .../scan/metadata}/restrict.py | 29 +++++++++++++++-------
12 pym/repoman/scanner.py | 9 +------
13 3 files changed, 30 insertions(+), 17 deletions(-)
14
15 diff --git a/pym/repoman/modules/scan/metadata/__init__.py b/pym/repoman/modules/scan/metadata/__init__.py
16 index c8f3609..4f376e1 100644
17 --- a/pym/repoman/modules/scan/metadata/__init__.py
18 +++ b/pym/repoman/modules/scan/metadata/__init__.py
19 @@ -46,6 +46,15 @@ module_spec = {
20 'func_desc': {
21 },
22 },
23 + 'restrict-metadata': {
24 + 'name': "restrict",
25 + 'sourcefile': "restrict",
26 + 'class': "RestrictChecks",
27 + 'description': doc,
28 + 'functions': ['check'],
29 + 'func_desc': {
30 + },
31 + },
32 }
33 }
34
35
36 diff --git a/pym/repoman/checks/ebuilds/variables/restrict.py b/pym/repoman/modules/scan/metadata/restrict.py
37 similarity index 54%
38 rename from pym/repoman/checks/ebuilds/variables/restrict.py
39 rename to pym/repoman/modules/scan/metadata/restrict.py
40 index 215b792..93ca298 100644
41 --- a/pym/repoman/checks/ebuilds/variables/restrict.py
42 +++ b/pym/repoman/modules/scan/metadata/restrict.py
43 @@ -12,21 +12,23 @@ from repoman.qa_data import valid_restrict
44 class RestrictChecks(object):
45 '''Perform checks on the RESTRICT variable.'''
46
47 - def __init__(self, qatracker):
48 + def __init__(self, **kwargs):
49 '''
50 @param qatracker: QATracker instance
51 '''
52 - self.qatracker = qatracker
53 + self.qatracker = kwargs.get('qatracker')
54
55 - def check(self, pkg, package, ebuild, y_ebuild):
56 + def check(self, **kwargs):
57 + xpkg = kwargs.get('xpkg')
58 + ebuild = kwargs.get('ebuild')
59 + y_ebuild = kwargs.get('y_ebuild')
60 myrestrict = None
61
62 try:
63 myrestrict = portage.dep.use_reduce(
64 - pkg._metadata["RESTRICT"], matchall=1, flat=True)
65 + ebuild.metadata["RESTRICT"], matchall=1, flat=True)
66 except portage.exception.InvalidDependString as e:
67 - self. qatracker.add_error(
68 - "RESTRICT.syntax",
69 + self.qatracker.add_error("RESTRICT.syntax",
70 "%s: RESTRICT: %s" % (ebuild.relative_path, e))
71 del e
72
73 @@ -36,6 +38,15 @@ class RestrictChecks(object):
74
75 if mybadrestrict:
76 for mybad in mybadrestrict:
77 - self.qatracker.add_error(
78 - "RESTRICT.invalid",
79 - package + "/" + y_ebuild + ".ebuild: %s" % mybad)
80 + self.qatracker.add_error("RESTRICT.invalid",
81 + "%s/%s.ebuild: %s" % (xpkg, y_ebuild, mybad))
82 + return {'continue': False}
83 +
84 + @property
85 + def runInPkgs(self):
86 + return (False, [])
87 +
88 + @property
89 + def runInEbuilds(self):
90 + return (True, [self.check])
91 +
92
93 diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
94 index 8d83cac..92e2abd 100644
95 --- a/pym/repoman/scanner.py
96 +++ b/pym/repoman/scanner.py
97 @@ -18,7 +18,6 @@ from portage import _unicode_encode
98 from portage.dep import Atom
99 from portage.output import green
100 from repoman.checks.ebuilds.checks import run_checks
101 -from repoman.checks.ebuilds.variables.restrict import RestrictChecks
102 from repoman.modules.commit import repochecks
103 from repoman.profile import check_profiles, dev_profile_keywords, setup_profile
104 from repoman.repos import repo_metadata
105 @@ -211,10 +210,6 @@ class Scanner(object):
106 print("Initializing class name:", mod_class.__name__)
107 self.modules[mod_class.__name__] = mod_class(**self.kwargs)
108
109 - # initialize our checks classes here before the big xpkg loop
110 - self.restrictcheck = RestrictChecks(self.qatracker)
111 -
112 -
113 def scan_pkgs(self, can_force):
114 dynamic_data = {'can_force': can_force}
115 for xpkg in self.effective_scanlist:
116 @@ -298,7 +293,7 @@ class Scanner(object):
117 ('description', 'DescriptionChecks'), (None, 'KeywordChecks'),
118 ('arches', 'ArchChecks'), ('depend', 'DependChecks'),
119 ('use_flags', 'USEFlagChecks'), ('ruby', 'RubyEclassChecks'),
120 - ('license', 'LicenseChecks'),
121 + ('license', 'LicenseChecks'), ('restrict', 'RestrictChecks'),
122 ]:
123 if mod[0]:
124 mod_class = MODULE_CONTROLLER.get_class(mod[0])
125 @@ -326,8 +321,6 @@ class Scanner(object):
126 if y_ebuild_continue:
127 continue
128
129 - self.restrictcheck.check(dynamic_data['pkg'], xpkg, dynamic_data['ebuild'], y_ebuild)
130 -
131 # Syntax Checks
132 if not self.vcs_settings.vcs_preserves_mtime:
133 if dynamic_data['ebuild'].ebuild_path not in self.changed.new_ebuilds and \