commit: a7c9f77f9ab9321fe9beda0bbf7716f2b206405b Author: Tom Wijsman <tomwij <AT> gentoo <DOT> org> AuthorDate: Fri Jun 6 15:23:33 2014 +0000 Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com> CommitDate: Wed Oct 1 23:45:35 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=a7c9f77f
repoman/main.py: Split RESTRICT checks to checks/ebuild/variables/ --- pym/repoman/checks/ebuilds/variables/restrict.py | 41 ++++++++++++++++++++++++ pym/repoman/main.py | 25 ++++----------- 2 files changed, 47 insertions(+), 19 deletions(-) diff --git a/pym/repoman/checks/ebuilds/variables/restrict.py b/pym/repoman/checks/ebuilds/variables/restrict.py new file mode 100644 index 0000000..215b792 --- /dev/null +++ b/pym/repoman/checks/ebuilds/variables/restrict.py @@ -0,0 +1,41 @@ + +'''restrict.py +Perform checks on the RESTRICT variable. +''' + +# import our initialized portage instance +from repoman._portage import portage + +from repoman.qa_data import valid_restrict + + +class RestrictChecks(object): + '''Perform checks on the RESTRICT variable.''' + + def __init__(self, qatracker): + ''' + @param qatracker: QATracker instance + ''' + self.qatracker = qatracker + + def check(self, pkg, package, ebuild, y_ebuild): + myrestrict = None + + try: + myrestrict = portage.dep.use_reduce( + pkg._metadata["RESTRICT"], matchall=1, flat=True) + except portage.exception.InvalidDependString as e: + self. qatracker.add_error( + "RESTRICT.syntax", + "%s: RESTRICT: %s" % (ebuild.relative_path, e)) + del e + + if myrestrict: + myrestrict = set(myrestrict) + mybadrestrict = myrestrict.difference(valid_restrict) + + if mybadrestrict: + for mybad in mybadrestrict: + self.qatracker.add_error( + "RESTRICT.invalid", + package + "/" + y_ebuild + ".ebuild: %s" % mybad) diff --git a/pym/repoman/main.py b/pym/repoman/main.py index 722de79..b3e93bf 100755 --- a/pym/repoman/main.py +++ b/pym/repoman/main.py @@ -61,6 +61,7 @@ from repoman.checks.ebuilds.use_flags import USEFlagChecks from repoman.checks.ebuilds.variables.description import DescriptionChecks from repoman.checks.ebuilds.variables.eapi import EAPIChecks from repoman.checks.ebuilds.variables.license import LicenseChecks +from repoman.checks.ebuilds.variables.restrict import RestrictChecks from repoman.ebuild import Ebuild from repoman.errors import err from repoman.modules.commit import repochecks @@ -68,7 +69,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, missingvars, - suspect_virtual, suspect_rdepend, valid_restrict) + suspect_virtual, suspect_rdepend) from repoman.qa_tracker import QATracker from repoman.repos import RepoSettings, repo_metadata from repoman.scan import Changes, scan @@ -298,6 +299,7 @@ rubyeclasscheck = RubyEclassChecks(qatracker) eapicheck = EAPIChecks(qatracker, repo_settings) descriptioncheck = DescriptionChecks(qatracker) licensecheck = LicenseChecks(qatracker, liclist, liclist_deprecated) +restrictcheck = RestrictChecks(qatracker) ###################### for xpkg in effective_scanlist: @@ -617,24 +619,9 @@ for xpkg in effective_scanlist: licensecheck.check(pkg, xpkg, ebuild, y_ebuild) ################# - # restrict checks - myrestrict = None - try: - myrestrict = portage.dep.use_reduce( - myaux["RESTRICT"], matchall=1, flat=True) - except portage.exception.InvalidDependString as e: - qatracker.add_error( - "RESTRICT.syntax", - "%s: RESTRICT: %s" % (ebuild.relative_path, e)) - del e - if myrestrict: - myrestrict = set(myrestrict) - mybadrestrict = myrestrict.difference(valid_restrict) - if mybadrestrict: - for mybad in mybadrestrict: - qatracker.add_error( - "RESTRICT.invalid", - xpkg + "/" + y_ebuild + ".ebuild: %s" % mybad) + ################# + restrictcheck.check(pkg, xpkg, ebuild, y_ebuild) + ################# # Syntax Checks