repoman: add back portage.internal check
authorZac Medico <zmedico@gentoo.org>
Sat, 26 Feb 2011 00:19:01 +0000 (16:19 -0800)
committerZac Medico <zmedico@gentoo.org>
Tue, 1 Mar 2011 20:52:31 +0000 (12:52 -0800)
This check got removed for bug #262365, but now that EAPI 4 is released
we can add it back. Now it checks for ecompress/ecompressdir too (for
bug #218347).

bin/repoman
man/repoman.1
pym/repoman/checks.py

index b694b6ca3707196d4469e0bec12df034dfbdb6a2..8b1efc5a3102015b49fa10c49c21319c0edb5fd1 100755 (executable)
@@ -364,6 +364,7 @@ qahelp={
        "metadata.missing":"Missing metadata.xml files",
        "metadata.bad":"Bad metadata.xml files",
        "metadata.warning":"Warnings in metadata.xml files",
+       "portage.internal":"The ebuild uses an internal Portage function",
        "virtual.versioned":"PROVIDE contains virtuals with versions",
        "virtual.exists":"PROVIDE contains existing package names",
        "virtual.unavailable":"PROVIDE contains a virtual which contains no profile default",
@@ -410,6 +411,7 @@ qawarnings = set((
 "java.eclassesnotused",
 "wxwidgets.eclassnotused",
 "metadata.warning",
+"portage.internal",
 "virtual.versioned",
 "virtual.exists",
 "virtual.unavailable",
index f9501bf439bafa73295d6c13615db6ec94a44b4c..162b62b455ec3a6d019a4dcad54b3c33e618e40b 100644 (file)
@@ -330,6 +330,9 @@ Missing metadata.xml files
 .B metadata.warning
 Warnings in metadata.xml files
 .TP
+.B portage.internal
+The ebuild uses an internal Portage function
+.TP
 .B upstream.workaround
 The ebuild works around an upstream bug, an upstream bug should be filed and
 tracked in bugs.gentoo.org
index 5bf039b99daf25c47087eaf0e285f508d21bce8c..a05c128fe5c7e82b4129d4217c0297a02bc2d720 100644 (file)
@@ -623,6 +623,16 @@ class Eapi4GoneVars(LineCheck):
                        return ("variable '$%s'" % m.group(1)) + \
                                " is gone in EAPI=4 on line: %d"
 
+class PortageInternal(LineCheck):
+       repoman_check_name = 'portage.internal'
+       re = re.compile(r'[^#]*\b(ecompress|ecompressdir|prepalldocs)\b')
+
+       def check(self, num, line):
+               """Run the check on line and return error if there is one"""
+               m = self.re.match(line)
+               if m is not None:
+                       return ("'%s'" % m.group(1)) + " called on line: %d"
+
 _constant_checks = tuple((c() for c in (
        EbuildHeader, EbuildWhitespace, EbuildBlankLine, EbuildQuote,
        EbuildAssignment, Eapi3EbuildAssignment, EbuildUselessDodoc,
@@ -633,7 +643,7 @@ _constant_checks = tuple((c() for c in (
        DeprecatedBindnowFlags, SrcUnpackPatches, WantAutoDefaultValue,
        SrcCompileEconf, Eapi3DeprecatedFuncs, NoOffsetWithHelpers,
        Eapi4IncompatibleFuncs, Eapi4GoneVars, BuiltWithUse,
-       PreserveOldLib, SandboxAddpredict)))
+       PreserveOldLib, SandboxAddpredict, PortageInternal)))
 
 _here_doc_re = re.compile(r'.*\s<<[-]?(\w+)$')