commit: f45a855d52e19843f29665a6d3fe16dd3aa6ed41
Author: Tom Wijsman <tomwij <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 4 13:58:31 2014 +0000
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sun Sep 20 01:54:07 2015 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=f45a855d
repoman/main.py: Split Ruby checks to checks/ebuild/eclass/ruby.py
pym/repoman/checks/ebuilds/eclasses/__init__.py | 0
pym/repoman/checks/ebuilds/eclasses/ruby.py | 32 +++++++++++++++++++++++++
pym/repoman/main.py | 18 ++++----------
3 files changed, 37 insertions(+), 13 deletions(-)
diff --git a/pym/repoman/checks/ebuilds/eclasses/__init__.py
b/pym/repoman/checks/ebuilds/eclasses/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/pym/repoman/checks/ebuilds/eclasses/ruby.py
b/pym/repoman/checks/ebuilds/eclasses/ruby.py
new file mode 100644
index 0000000..abfb166
--- /dev/null
+++ b/pym/repoman/checks/ebuilds/eclasses/ruby.py
@@ -0,0 +1,32 @@
+
+'''live.py
+Performs Ruby eclass checks
+'''
+
+from repoman.qa_data import ruby_deprecated
+
+
+class RubyEclassChecks(object):
+ '''Performs checks for the usage of Ruby eclasses in ebuilds'''
+
+ def __init__(self, qatracker):
+ '''
+ @param qatracker: QATracker instance
+ '''
+ self.qatracker = qatracker
+ self.old_ruby_eclasses = ["ruby-ng", "ruby-fakegem", "ruby"]
+
+ def check(self, pkg, ebuild):
+ is_inherited = lambda eclass: eclass in pkg.inherited
+ is_old_ruby_eclass_inherited = filter(
+ is_inherited, self.old_ruby_eclasses)
+
+ if is_old_ruby_eclass_inherited:
+ ruby_intersection =
pkg.iuse.all.intersection(ruby_deprecated)
+
+ if ruby_intersection:
+ for myruby in ruby_intersection:
+ self.qatracker.add_error(
+ "IUSE.rubydeprecated",
+ (ebuild.relative_path + ":
Deprecated ruby target: %s")
+ % myruby)
\ No newline at end of file
diff --git a/pym/repoman/main.py b/pym/repoman/main.py
index 39c8e1a..4ded687 100755
--- a/pym/repoman/main.py
+++ b/pym/repoman/main.py
@@ -51,6 +51,7 @@ from repoman.argparser import parse_args
from repoman.checks.directories.files import FileChecks
from repoman.checks.ebuilds.checks import run_checks, checks_init
from repoman.checks.ebuilds.eclasses.live import LiveEclassChecks
+from repoman.checks.ebuilds.eclasses.ruby import RubyEclassChecks
from repoman.checks.ebuilds.fetches import FetchChecks
from repoman.checks.ebuilds.keywords import KeywordChecks
from repoman.checks.ebuilds.isebuild import IsEbuild
@@ -67,7 +68,7 @@ from repoman.profile import check_profiles, dev_keywords,
setup_profile
from repoman.qa_data import (
format_qa_output, format_qa_output_column, qahelp,
qawarnings, qacats, max_desc_len, missingvars,
- ruby_deprecated, suspect_virtual, suspect_rdepend, valid_restrict)
+ suspect_virtual, suspect_rdepend, valid_restrict)
from repoman.qa_tracker import QATracker
from repoman.repos import RepoSettings, repo_metadata
from repoman.scan import Changes, scan
@@ -290,6 +291,7 @@ thirdparty = ThirdPartyMirrors(repoman_settings, qatracker)
use_flag_checks = USEFlagChecks(qatracker, uselist)
keywordcheck = KeywordChecks(qatracker, options)
liveeclasscheck = LiveEclassChecks(qatracker)
+rubyeclasscheck = RubyEclassChecks(qatracker)
######################
for xpkg in effective_scanlist:
@@ -615,18 +617,8 @@ for xpkg in effective_scanlist:
ebuild_used_useflags = use_flag_checks.getUsedUseFlags()
used_useflags = used_useflags.union(ebuild_used_useflags)
#################
-
- # Check for outdated RUBY targets
- old_ruby_eclasses = ["ruby-ng", "ruby-fakegem", "ruby"]
- is_old_ruby_eclass_inherited = filter(
- lambda e: e in inherited, old_ruby_eclasses)
- if is_old_ruby_eclass_inherited:
- ruby_intersection =
pkg.iuse.all.intersection(ruby_deprecated)
- if ruby_intersection:
- for myruby in ruby_intersection:
-
qatracker.add_error("IUSE.rubydeprecated",
- (ebuild.relative_path + ":
Deprecated ruby target: %s")
- % myruby)
+ rubyeclasscheck.check(pkg, ebuild)
+ #################
# license checks
if not badlicsyntax: