Merged from trunk 10329:10337
authorFabian Groffen <grobian@gentoo.org>
Thu, 15 May 2008 19:40:37 +0000 (19:40 -0000)
committerFabian Groffen <grobian@gentoo.org>
Thu, 15 May 2008 19:40:37 +0000 (19:40 -0000)
   | 10333   | Bug #221537 - Add a new "RDEPEND.suspect" check for packages |
   | zmedico | in RDEPEND that usually only belong in DEPEND.               |

   | 10335   | Skip blocker atoms for the RDEPEND.suspect check.            |
   | zmedico |                                                              |

   | 10337   | Add a note about interaction between                         |
   | zmedico | FEATURES="metadata-transfer" and eclasses from               |
   |         | PORTDIR_OVERLAY that override eclasses from PORTDIR.         |

svn path=/main/branches/prefix/; revision=10343

RELEASE-NOTES
bin/repoman
man/repoman.1

index 494953d8f7044975a5e5adf542786426afedbd12..49a0e5941bc6c842cde2d1d4361f54dd357a2ed3 100644 (file)
@@ -47,7 +47,11 @@ portage-2.1.5
   "Updating Portage cache" routine that used to run at the tail end of each
   `emerge --sync` operation. If you use something like the sqlite module and
   want to keep all metadata in that format alone (useful for querying), enable
-  FEATURES="metadata-transfer" in make.conf.
+  FEATURES="metadata-transfer" in make.conf. You should also enable
+  FEATURES="metadata-transfer" if you have any eclasses from PORTDIR_OVERLAY
+  that override eclasses from PORTDIR (in this case, you may have disabled
+  a relevant warning message by setting PORTAGE_ECLASS_WARNING_ENABLE="0" in
+  make.conf).
 
 * The parallel-fetch feature is now enabled by default. It is optimized
   to avoid doing redundant checksums for previously downloaded files that have
index 48b1ab1cb3bdc38c92500c1ee4f3c05873ca9cb3..50601154bb64fbb7787c3f876b6899a48f742e09 100755 (executable)
@@ -291,6 +291,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",
@@ -325,6 +326,7 @@ qawarnings=[
 "KEYWORDS.dropped",
 "KEYWORDS.stupid",
 "KEYWORDS.missing",
+"RDEPEND.suspect",
 "RESTRICT.invalid",
 "ebuild.minorsyn",
 "ebuild.badheader",
@@ -354,10 +356,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:
@@ -1226,6 +1261,12 @@ for x in scanlist:
                                                        portage.dep_getkey(atom) == "virtual/jdk":
                                                        stats['java.eclassesnotused'] += 1
                                                        fails['java.eclassesnotused'].append(relative_path)
+                                               elif mytype == "RDEPEND":
+                                                       if not is_blocker and \
+                                                               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