diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-02-22 01:14:08 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-02-22 01:14:08 +0000 |
commit | da4d877173458a35778c9db93e0a8762c5cb1a6e (patch) | |
tree | c0a32a6b22787f5cb0bc3cfdac217ea139b83234 | |
parent | c2eed833bc66ffe0ee045890f3602136e268096c (diff) | |
download | portage-da4d877173458a35778c9db93e0a8762c5cb1a6e.tar.gz portage-da4d877173458a35778c9db93e0a8762c5cb1a6e.tar.bz2 portage-da4d877173458a35778c9db93e0a8762c5cb1a6e.zip |
Bug #299095 - Add a deprecation warning for check_license calls with EAPI >= 3
since it is superceded by LICENSE masking.
svn path=/main/trunk/; revision=15418
-rwxr-xr-x | bin/repoman | 2 | ||||
-rw-r--r-- | man/repoman.1 | 3 | ||||
-rw-r--r-- | pym/repoman/checks.py | 21 |
3 files changed, 25 insertions, 1 deletions
diff --git a/bin/repoman b/bin/repoman index a67fae8dd..ba9feabce 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 129ffd00b..9d8f299d4 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+)$') |