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/, pym/repoman/modules/scan/eclasses/, ...
Date: Sun, 31 Jan 2016 20:03:43
Message-Id: 1454185521.d2dd97b04e5b44eb1265576929d8957cc2b3eeb2.dolsen@gentoo
1 commit: d2dd97b04e5b44eb1265576929d8957cc2b3eeb2
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jan 8 08:46:01 2016 +0000
4 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
5 CommitDate: Sat Jan 30 20:25:21 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=d2dd97b0
7
8 repoman: Create RubyEclassChecks class plugin
9
10 pym/repoman/checks/ebuilds/eclasses/__init__.py | 0
11 pym/repoman/modules/scan/eclasses/__init__.py | 9 +++++++++
12 .../{checks/ebuilds => modules/scan}/eclasses/ruby.py | 18 ++++++++++++++----
13 pym/repoman/scanner.py | 8 ++------
14 4 files changed, 25 insertions(+), 10 deletions(-)
15
16 diff --git a/pym/repoman/checks/ebuilds/eclasses/__init__.py b/pym/repoman/checks/ebuilds/eclasses/__init__.py
17 deleted file mode 100644
18 index e69de29..0000000
19
20 diff --git a/pym/repoman/modules/scan/eclasses/__init__.py b/pym/repoman/modules/scan/eclasses/__init__.py
21 index ed9a7c7..126f2a6 100644
22 --- a/pym/repoman/modules/scan/eclasses/__init__.py
23 +++ b/pym/repoman/modules/scan/eclasses/__init__.py
24 @@ -19,6 +19,15 @@ module_spec = {
25 'func_kwargs': {
26 },
27 },
28 + 'ruby-module': {
29 + 'name': "ruby",
30 + 'sourcefile': "ruby",
31 + 'class': "RubyEclassChecks",
32 + 'description': doc,
33 + 'functions': ['check'],
34 + 'func_kwargs': {
35 + },
36 + },
37 }
38 }
39
40
41 diff --git a/pym/repoman/checks/ebuilds/eclasses/ruby.py b/pym/repoman/modules/scan/eclasses/ruby.py
42 similarity index 62%
43 rename from pym/repoman/checks/ebuilds/eclasses/ruby.py
44 rename to pym/repoman/modules/scan/eclasses/ruby.py
45 index e8d36ea..4dc5d62 100644
46 --- a/pym/repoman/checks/ebuilds/eclasses/ruby.py
47 +++ b/pym/repoman/modules/scan/eclasses/ruby.py
48 @@ -4,19 +4,23 @@ Performs Ruby eclass checks
49 '''
50
51 from repoman.qa_data import ruby_deprecated
52 +from repoman.modules.scan.scanbase import ScanBase
53
54
55 -class RubyEclassChecks(object):
56 +class RubyEclassChecks(ScanBase):
57 '''Performs checks for the usage of Ruby eclasses in ebuilds'''
58
59 - def __init__(self, qatracker):
60 + def __init__(self, **kwargs):
61 '''
62 @param qatracker: QATracker instance
63 '''
64 - self.qatracker = qatracker
65 + super(RubyEclassChecks, self).__init__(**kwargs)
66 + self.qatracker = kwargs.get('qatracker')
67 self.old_ruby_eclasses = ["ruby-ng", "ruby-fakegem", "ruby"]
68
69 - def check(self, pkg, ebuild):
70 + def check(self, **kwargs):
71 + pkg = kwargs.get('pkg')
72 + ebuild = kwargs.get('ebuild')
73 is_inherited = lambda eclass: eclass in pkg.inherited
74 is_old_ruby_eclass_inherited = filter(
75 is_inherited, self.old_ruby_eclasses)
76 @@ -30,3 +34,9 @@ class RubyEclassChecks(object):
77 "IUSE.rubydeprecated",
78 (ebuild.relative_path + ": Deprecated ruby target: %s")
79 % myruby)
80 + return {'continue': False}
81 +
82 + @property
83 + def runInEbuilds(self):
84 + '''Ebuild level scans'''
85 + return (True, [self.check])
86
87 diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
88 index 0248a66..c5601dd 100644
89 --- a/pym/repoman/scanner.py
90 +++ b/pym/repoman/scanner.py
91 @@ -18,7 +18,6 @@ from portage import _unicode_encode
92 from portage.dep import Atom
93 from portage.output import green
94 from repoman.checks.ebuilds.checks import run_checks
95 -from repoman.checks.ebuilds.eclasses.ruby import RubyEclassChecks
96 from repoman.checks.ebuilds.variables.license import LicenseChecks
97 from repoman.checks.ebuilds.variables.restrict import RestrictChecks
98 from repoman.modules.commit import repochecks
99 @@ -214,7 +213,6 @@ class Scanner(object):
100 self.modules[mod_class.__name__] = mod_class(**self.kwargs)
101
102 # initialize our checks classes here before the big xpkg loop
103 - self.rubyeclasscheck = RubyEclassChecks(self.qatracker)
104 self.licensecheck = LicenseChecks(self.qatracker, liclist, liclist_deprecated)
105 self.restrictcheck = RestrictChecks(self.qatracker)
106
107 @@ -301,7 +299,7 @@ class Scanner(object):
108 ('thirdpartymirrors', 'ThirdPartyMirrors'),
109 ('description', 'DescriptionChecks'), (None, 'KeywordChecks'),
110 ('arches', 'ArchChecks'), ('depend', 'DependChecks'),
111 - ('use_flags', 'USEFlagChecks'),
112 + ('use_flags', 'USEFlagChecks'), ('ruby', 'RubyEclassChecks'),
113 ]:
114 if mod[0]:
115 mod_class = MODULE_CONTROLLER.get_class(mod[0])
116 @@ -364,9 +362,7 @@ class Scanner(object):
117 badlicsyntax = badlicsyntax > 0
118 badprovsyntax = badprovsyntax > 0
119
120 - used_useflags = used_useflags.union(dynamic_data['ebuild_used_useflags'])
121 -
122 - self.rubyeclasscheck.check(dynamic_data['pkg'], dynamic_data['ebuild'])
123 + used_useflags = used_useflags.union(dynamic_data['ebuild_UsedUseFlags'])
124
125 # license checks
126 if not badlicsyntax: