Gentoo Archives: gentoo-commits

From: Brian Dolbec <dolsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/repoman/checks/ebuilds/eclasses/, pym/repoman/
Date: Mon, 21 Sep 2015 23:51:26
Message-Id: 1442878963.c7708b5906e9036464a63f7c87eaf56282fbd251.dolsen@gentoo
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: