1 |
commit: c7708b5906e9036464a63f7c87eaf56282fbd251 |
2 |
Author: Tom Wijsman <tomwij <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Jun 4 13:58:31 2014 +0000 |
4 |
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Sep 21 23:42:43 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=c7708b59 |
7 |
|
8 |
repoman/main.py: Split Ruby checks to checks/ebuild/eclass/ruby.py |
9 |
|
10 |
pym/repoman/checks/ebuilds/eclasses/__init__.py | 0 |
11 |
pym/repoman/checks/ebuilds/eclasses/ruby.py | 32 +++++++++++++++++++++++++ |
12 |
pym/repoman/main.py | 18 ++++---------- |
13 |
3 files changed, 37 insertions(+), 13 deletions(-) |
14 |
|
15 |
diff --git a/pym/repoman/checks/ebuilds/eclasses/__init__.py b/pym/repoman/checks/ebuilds/eclasses/__init__.py |
16 |
new file mode 100644 |
17 |
index 0000000..e69de29 |
18 |
|
19 |
diff --git a/pym/repoman/checks/ebuilds/eclasses/ruby.py b/pym/repoman/checks/ebuilds/eclasses/ruby.py |
20 |
new file mode 100644 |
21 |
index 0000000..abfb166 |
22 |
--- /dev/null |
23 |
+++ b/pym/repoman/checks/ebuilds/eclasses/ruby.py |
24 |
@@ -0,0 +1,32 @@ |
25 |
+ |
26 |
+'''live.py |
27 |
+Performs Ruby eclass checks |
28 |
+''' |
29 |
+ |
30 |
+from repoman.qa_data import ruby_deprecated |
31 |
+ |
32 |
+ |
33 |
+class RubyEclassChecks(object): |
34 |
+ '''Performs checks for the usage of Ruby eclasses in ebuilds''' |
35 |
+ |
36 |
+ def __init__(self, qatracker): |
37 |
+ ''' |
38 |
+ @param qatracker: QATracker instance |
39 |
+ ''' |
40 |
+ self.qatracker = qatracker |
41 |
+ self.old_ruby_eclasses = ["ruby-ng", "ruby-fakegem", "ruby"] |
42 |
+ |
43 |
+ def check(self, pkg, ebuild): |
44 |
+ is_inherited = lambda eclass: eclass in pkg.inherited |
45 |
+ is_old_ruby_eclass_inherited = filter( |
46 |
+ is_inherited, self.old_ruby_eclasses) |
47 |
+ |
48 |
+ if is_old_ruby_eclass_inherited: |
49 |
+ ruby_intersection = pkg.iuse.all.intersection(ruby_deprecated) |
50 |
+ |
51 |
+ if ruby_intersection: |
52 |
+ for myruby in ruby_intersection: |
53 |
+ self.qatracker.add_error( |
54 |
+ "IUSE.rubydeprecated", |
55 |
+ (ebuild.relative_path + ": Deprecated ruby target: %s") |
56 |
+ % myruby) |
57 |
\ No newline at end of file |
58 |
|
59 |
diff --git a/pym/repoman/main.py b/pym/repoman/main.py |
60 |
index 39c8e1a..4ded687 100755 |
61 |
--- a/pym/repoman/main.py |
62 |
+++ b/pym/repoman/main.py |
63 |
@@ -51,6 +51,7 @@ from repoman.argparser import parse_args |
64 |
from repoman.checks.directories.files import FileChecks |
65 |
from repoman.checks.ebuilds.checks import run_checks, checks_init |
66 |
from repoman.checks.ebuilds.eclasses.live import LiveEclassChecks |
67 |
+from repoman.checks.ebuilds.eclasses.ruby import RubyEclassChecks |
68 |
from repoman.checks.ebuilds.fetches import FetchChecks |
69 |
from repoman.checks.ebuilds.keywords import KeywordChecks |
70 |
from repoman.checks.ebuilds.isebuild import IsEbuild |
71 |
@@ -67,7 +68,7 @@ from repoman.profile import check_profiles, dev_keywords, setup_profile |
72 |
from repoman.qa_data import ( |
73 |
format_qa_output, format_qa_output_column, qahelp, |
74 |
qawarnings, qacats, max_desc_len, missingvars, |
75 |
- ruby_deprecated, suspect_virtual, suspect_rdepend, valid_restrict) |
76 |
+ suspect_virtual, suspect_rdepend, valid_restrict) |
77 |
from repoman.qa_tracker import QATracker |
78 |
from repoman.repos import RepoSettings, repo_metadata |
79 |
from repoman.scan import Changes, scan |
80 |
@@ -290,6 +291,7 @@ thirdparty = ThirdPartyMirrors(repoman_settings, qatracker) |
81 |
use_flag_checks = USEFlagChecks(qatracker, uselist) |
82 |
keywordcheck = KeywordChecks(qatracker, options) |
83 |
liveeclasscheck = LiveEclassChecks(qatracker) |
84 |
+rubyeclasscheck = RubyEclassChecks(qatracker) |
85 |
###################### |
86 |
|
87 |
for xpkg in effective_scanlist: |
88 |
@@ -615,18 +617,8 @@ for xpkg in effective_scanlist: |
89 |
ebuild_used_useflags = use_flag_checks.getUsedUseFlags() |
90 |
used_useflags = used_useflags.union(ebuild_used_useflags) |
91 |
################# |
92 |
- |
93 |
- # Check for outdated RUBY targets |
94 |
- old_ruby_eclasses = ["ruby-ng", "ruby-fakegem", "ruby"] |
95 |
- is_old_ruby_eclass_inherited = filter( |
96 |
- lambda e: e in inherited, old_ruby_eclasses) |
97 |
- if is_old_ruby_eclass_inherited: |
98 |
- ruby_intersection = pkg.iuse.all.intersection(ruby_deprecated) |
99 |
- if ruby_intersection: |
100 |
- for myruby in ruby_intersection: |
101 |
- qatracker.add_error("IUSE.rubydeprecated", |
102 |
- (ebuild.relative_path + ": Deprecated ruby target: %s") |
103 |
- % myruby) |
104 |
+ rubyeclasscheck.check(pkg, ebuild) |
105 |
+ ################# |
106 |
|
107 |
# license checks |
108 |
if not badlicsyntax: |