summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-14 17:58:33 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-14 17:58:33 +0000
commit3a79c034c002e51232f570027cf5c9d21993a2c6 (patch)
tree8eb5fabd0c86ffe0add00428f353ebc0317e0c9d
parente7d0b31f93fa36cc6939c6322d37866bbd7d64a0 (diff)
downloadportage-3a79c034c002e51232f570027cf5c9d21993a2c6.tar.gz
portage-3a79c034c002e51232f570027cf5c9d21993a2c6.tar.bz2
portage-3a79c034c002e51232f570027cf5c9d21993a2c6.zip
Bug #221537 - Add a new "RDEPEND.suspect" check for packages in RDEPEND that
usually only belong in DEPEND. (trunk r10333) svn path=/main/branches/2.1.2/; revision=10334
-rwxr-xr-xbin/repoman41
-rw-r--r--man/repoman.13
2 files changed, 44 insertions, 0 deletions
diff --git a/bin/repoman b/bin/repoman
index 5cf54d6d5..6dd86709b 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -207,6 +207,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.",
"ebuild.nostable":"There are no ebuilds that are marked as stable for your ARCH",
"ebuild.allmasked":"All ebuilds are masked for this package (Package level only)",
@@ -242,6 +243,7 @@ qawarnings=[
"KEYWORDS.dropped",
"KEYWORDS.stupid",
"KEYWORDS.missing",
+"RDEPEND.suspect",
"RESTRICT.invalid",
"ebuild.minorsyn",
"ebuild.badheader",
@@ -272,6 +274,40 @@ 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"])
@@ -1678,6 +1714,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 e7b06a6da..0f83d6388 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