Bug #221537 - Add a new "RDEPEND.suspect" check for packages in RDEPEND that
authorZac Medico <zmedico@gentoo.org>
Wed, 14 May 2008 17:53:43 +0000 (17:53 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 14 May 2008 17:53:43 +0000 (17:53 -0000)
usually only belong in DEPEND.

svn path=/main/trunk/; revision=10333

bin/repoman
man/repoman.1

index 953e4d88ef244e1740ce70c52527f19d8aca9a1e..cf562a2ed671124705bd40637c67d22ad7bee954 100755 (executable)
@@ -293,6 +293,7 @@ qahelp={
        "IUSE.invalid":"This ebuild has a variable in IUSE that is not in the use.desc or use.local.desc file",
        "LICENSE.invalid":"This ebuild is listing a license that doesnt exist in portages license/ dir.",
        "KEYWORDS.invalid":"This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found",
+       "RDEPEND.suspect":"RDEPEND contains a package that usually only belongs in DEPEND.",
        "RESTRICT.invalid":"This ebuild contains invalid RESTRICT values.",
        "digestentry.unused":"Some files listed in the Manifest aren't referenced in SRC_URI",
        "ebuild.nostable":"There are no ebuilds that are marked as stable for your ARCH",
@@ -327,6 +328,7 @@ qawarnings=[
 "KEYWORDS.dropped",
 "KEYWORDS.stupid",
 "KEYWORDS.missing",
+"RDEPEND.suspect",
 "RESTRICT.invalid",
 "ebuild.minorsyn",
 "ebuild.badheader",
@@ -356,10 +358,43 @@ valid_restrict = frozenset(["binchecks", "bindist",
        "fetch", "installsources", "mirror",
        "primaryuri", "strip", "test", "userpriv"])
 
+suspect_rdepend = frozenset([
+       "app-arch/cabextract",
+       "app-arch/rpm2targz",
+       "app-doc/doxygen",
+       "dev-lang/nasm",
+       "dev-lang/swig",
+       "dev-lang/yasm",
+       "dev-perl/extutils-pkgconfig",
+       "dev-python/setuptools",
+       "dev-util/byacc",
+       "dev-util/cmake",
+       "dev-util/gtk-doc",
+       "dev-util/gtk-doc-am",
+       "dev-util/intltool",
+       "dev-util/jam",
+       "dev-util/pkgconfig",
+       "dev-util/scons",
+       "dev-util/unifdef",
+       "dev-util/yacc",
+       "media-gfx/ebdftopcf",
+       "sys-apps/help2man",
+       "sys-devel/autoconf",
+       "sys-devel/automake",
+       "sys-devel/bin86",
+       "sys-devel/bison",
+       "sys-devel/dev86",
+       "sys-devel/flex",
+       "sys-devel/libtool",
+       "sys-devel/m4",
+       "sys-devel/pmake",
+       "x11-misc/bdftopcf",
+       "x11-misc/imake",
+])
+
 # file.executable
 no_exec = frozenset(["Manifest","ChangeLog","metadata.xml"])
 
-
 def last(full=False):
        """Print the results of the last repoman run
        Args:
@@ -1228,6 +1263,11 @@ for x in scanlist:
                                                        portage.dep_getkey(atom) == "virtual/jdk":
                                                        stats['java.eclassesnotused'] += 1
                                                        fails['java.eclassesnotused'].append(relative_path)
+                                               elif mytype == "RDEPEND":
+                                                       if portage.dep_getkey(atom) in suspect_rdepend:
+                                                               stats['RDEPEND.suspect'] += 1
+                                                               fails['RDEPEND.suspect'].append(
+                                                                       relative_path + ": '%s'" % atom)
                                                if eapi == "0":
                                                        if portage.dep.dep_getslot(atom):
                                                                stats['EAPI.incompatible'] += 1
index 1beb13065935385bc7c8e5b39870b43a6b2cc306..a9e240140cd28e4188586517afbeeb1c67675fed 100644 (file)
@@ -171,6 +171,9 @@ Masked ebuilds with RDEPEND settings (matched against *all* ebuilds)
 .B RDEPEND.badmaskedindev
 Masked ebuilds with RDEPEND settings (matched against *all* ebuilds) in developing arch
 .TP
+.B RDEPEND.suspect
+RDEPEND contains a package that usually only belongs in DEPEND
+.TP
 .B RDEPEND.syntax
 Syntax error in RDEPEND (usually an extra/missing space/parenthesis)
 .TP