Fix repoman's allvalid variable to account for more possibly invalid
authorZac Medico <zmedico@gentoo.org>
Thu, 26 Aug 2010 18:56:06 +0000 (11:56 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 26 Aug 2010 18:56:06 +0000 (11:56 -0700)
ebuilds.

bin/repoman

index 0c0e7d0eda83eaba9e25f1372864aa9d6f2f838b..1ad5b28b2b099140e8a17676293869842eae2535 100755 (executable)
@@ -1095,6 +1095,7 @@ for x in scanlist:
        checkdirlist=os.listdir(checkdir)
        ebuildlist=[]
        pkgs = {}
+       allvalid = True
        for y in checkdirlist:
                if (y in no_exec or y.endswith(".ebuild")) and \
                        stat.S_IMODE(os.stat(os.path.join(checkdir, y)).st_mode) & 0o111:
@@ -1107,14 +1108,17 @@ for x in scanlist:
                        try:
                                myaux = dict(zip(allvars, portdb.aux_get(cpv, allvars)))
                        except KeyError:
+                               allvalid = False
                                stats["ebuild.syntax"] += 1
                                fails["ebuild.syntax"].append(os.path.join(x, y))
                                continue
                        except IOError:
+                               allvalid = False
                                stats["ebuild.output"] += 1
                                fails["ebuild.output"].append(os.path.join(x, y))
                                continue
                        if not portage.eapi_is_supported(myaux["EAPI"]):
+                               allvalid = False
                                stats["EAPI.unsupported"] += 1
                                fails["EAPI.unsupported"].append(os.path.join(x, y))
                                continue
@@ -1392,7 +1396,6 @@ 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()