Gentoo Archives: gentoo-commits

From: Brian Dolbec <brian.dolbec@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:repoman commit in: pym/repoman/, pym/repoman/checks/ebuilds/eclasses/
Date: Wed, 01 Oct 2014 23:02:49
Message-Id: 1412204294.c8e550c5bb151409bba1af496f4b853f6b5efa0b.dol-sen@gentoo
1 commit: c8e550c5bb151409bba1af496f4b853f6b5efa0b
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 22:58:14 2014 +0000
6 URL: http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=c8e550c5
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: