Disable 'unused local USE-description' check if there are any invalids.
authorMichał Górny <gentoo@mgorny.alt.pl>
Thu, 26 Aug 2010 16:38:52 +0000 (18:38 +0200)
committerZac Medico <zmedico@gentoo.org>
Thu, 26 Aug 2010 16:46:19 +0000 (09:46 -0700)
If any of the ebuilds is considered invalid, the used_useflags list may
not be complete. Thus, performing the test could cause a lot of useless
noise.

bin/repoman

index 5c01c3696753ceb98edc1deb57e9be710f3df33a..86b4c1c46d265d33edb3d2b40ec0c24768b79e59 100755 (executable)
@@ -1394,6 +1394,7 @@ for x in scanlist:
        changelog_path = os.path.join(checkdir_relative, "ChangeLog")
        changelog_modified = changelog_path in modified_changelogs
 
+       allvalid = True
        allmasked = True
        # detect unused local USE-descriptions
        used_useflags = set()
@@ -1432,6 +1433,7 @@ for x in scanlist:
                pkg = pkgs[y]
 
                if pkg.invalid:
+                       allvalid = False
                        for k, msgs in pkg.invalid.items():
                                for msg in msgs:
                                        stats[k] = stats[k] + 1
@@ -1927,11 +1929,13 @@ for x in scanlist:
                fails["ebuild.allmasked"].append(x)
 
        # check if there are unused local USE-descriptions in metadata.xml
-       for myflag in muselist.difference(used_useflags):
-               stats["metadata.warning"] += 1
-               fails["metadata.warning"].append(
-                       "%s/metadata.xml: unused local USE-description: '%s'" % \
-                       (x, myflag))
+       # (unless there are any invalids, to avoid noise)
+       if allvalid:
+               for myflag in muselist.difference(used_useflags):
+                       stats["metadata.warning"] += 1
+                       fails["metadata.warning"].append(
+                               "%s/metadata.xml: unused local USE-description: '%s'" % \
+                               (x, myflag))
 
 if options.mode == "manifest":
        sys.exit(dofail)