diff options
-rwxr-xr-x | bin/repoman | 42 | ||||
-rw-r--r-- | man/repoman.1 | 3 |
2 files changed, 44 insertions, 1 deletions
diff --git a/bin/repoman b/bin/repoman index 953e4d88e..cf562a2ed 100755 --- a/bin/repoman +++ b/bin/repoman @@ -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 diff --git a/man/repoman.1 b/man/repoman.1 index 1beb13065..a9e240140 100644 --- a/man/repoman.1 +++ b/man/repoman.1 @@ -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 |