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