From c195c6c18e06bd71c913204c27886bcb3ef93cf7 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 2 Mar 2010 20:52:44 +0000 Subject: [PATCH] Bug #299095 - Add a deprecation warning for check_license calls with EAPI >= 3 since it is superceded by LICENSE masking. (trunk r15418) svn path=/main/branches/2.1.7/; revision=15640 --- bin/repoman | 2 ++ man/repoman.1 | 3 +++ pym/repoman/checks.py | 21 ++++++++++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/bin/repoman b/bin/repoman index 3e770919c..422916339 100755 --- a/bin/repoman +++ b/bin/repoman @@ -288,6 +288,7 @@ qahelp={ "DESCRIPTION.missing":"Ebuilds that have a missing or empty DESCRIPTION variable", "DESCRIPTION.toolong":"DESCRIPTION is over %d characters" % max_desc_len, "EAPI.definition":"EAPI is defined after an inherit call (must be defined before)", + "EAPI.deprecated":"Ebuilds that use features that are deprecated in the current EAPI", "EAPI.incompatible":"Ebuilds that use features that are only available with a different EAPI", "EAPI.unsupported":"Ebuilds that have an unsupported EAPI version (you must upgrade portage)", "SLOT.invalid":"Ebuilds that have a missing or invalid SLOT variable value", @@ -368,6 +369,7 @@ qawarnings = set(( "DEPEND.badmaskedindev","RDEPEND.badmaskedindev","PDEPEND.badmaskedindev", "DEPEND.badtilde", "RDEPEND.badtilde", "PDEPEND.badtilde", "DESCRIPTION.toolong", +"EAPI.deprecated", "HOMEPAGE.virtual", "LICENSE.virtual", "KEYWORDS.dropped", diff --git a/man/repoman.1 b/man/repoman.1 index 3f8f1c5e6..265f72edd 100644 --- a/man/repoman.1 +++ b/man/repoman.1 @@ -110,6 +110,9 @@ Ebuilds that have a missing or empty DESCRIPTION variable .B EAPI.definition EAPI is defined after an inherit call (must be defined before) .TP +.B EAPI.deprecated +Ebuilds that use features that are deprecated in the current EAPI +.TP .B EAPI.incompatible Ebuilds that use features that are only available with a different EAPI .TP diff --git a/pym/repoman/checks.py b/pym/repoman/checks.py index 36e074c9f..941cb4188 100644 --- a/pym/repoman/checks.py +++ b/pym/repoman/checks.py @@ -438,6 +438,24 @@ class BuiltWithUse(LineCheck): re = re.compile('^.*built_with_use') error = errors.BUILT_WITH_USE +# EAPI-3 checks +class Eapi3DeprecatedFuncs(LineCheck): + repoman_check_name = 'EAPI.deprecated' + ignore_line = re.compile(r'(^\s*#)') + deprecated_commands_re = re.compile(r'^\s*(check_license)\b') + + def new(self, pkg): + self.eapi = pkg.metadata['EAPI'] + + def check_eapi(self, eapi): + return self.eapi not in ('0', '1', '2') + + def check(self, num, line): + m = self.deprecated_commands_re.match(line) + if m is not None: + return ("'%s'" % m.group(1)) + \ + " has been deprecated in EAPI=3 on line: %d" + # EAPI-4 checks class Eapi4IncompatibleFuncs(LineCheck): repoman_check_name = 'EAPI.incompatible' @@ -481,7 +499,8 @@ _constant_checks = tuple((c() for c in ( IUseUndefined, InheritAutotools, EMakeParallelDisabled, EMakeParallelDisabledViaMAKEOPTS, NoAsNeeded, DeprecatedBindnowFlags, SrcUnpackPatches, WantAutoDefaultValue, - SrcCompileEconf, Eapi4IncompatibleFuncs, Eapi4GoneVars, BuiltWithUse))) + SrcCompileEconf, Eapi3DeprecatedFuncs, + Eapi4IncompatibleFuncs, Eapi4GoneVars, BuiltWithUse))) _here_doc_re = re.compile(r'.*\s<<[-]?(\w+)$') -- 2.26.2