From 8d1ece17ca1b705f8e0e168edadb55d2520f7c89 Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Thu, 15 May 2008 19:40:37 +0000 Subject: [PATCH] Merged from trunk 10329:10337 | 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 | 6 +++++- bin/repoman | 43 ++++++++++++++++++++++++++++++++++++++++++- man/repoman.1 | 3 +++ 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 494953d8f..49a0e5941 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -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 diff --git a/bin/repoman b/bin/repoman index 48b1ab1cb..50601154b 100755 --- a/bin/repoman +++ b/bin/repoman @@ -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 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 -- 2.26.2