Exempt live ebuilds from KEYWORDS.missing and KEYWORDS.dropped warnings.
authorZac Medico <zmedico@gentoo.org>
Fri, 14 Nov 2008 20:51:03 +0000 (20:51 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 14 Nov 2008 20:51:03 +0000 (20:51 -0000)
Thanks to Jorge Manuel B. S. Vicetto <jmbsvicetto@g.o> for the suggestion.
(trunk r11911)

svn path=/main/branches/2.1.6/; revision=11912

bin/repoman

index 48a41385c3a7e4411d0bebec60940edea3aa1e92..067707bce5fa23322afab304013bea1d8fbe1386 100755 (executable)
@@ -1106,6 +1106,7 @@ for x in scanlist:
                myaux = pkg.metadata
                eapi = myaux["EAPI"]
                inherited = pkg.inherited
+               live_ebuild = live_eclasses.intersection(inherited)
 
                if not src_uri_error:
                        # Check that URIs don't reference a server from thirdpartymirrors.
@@ -1153,6 +1154,8 @@ for x in scanlist:
                                if catdir == "virtual" and \
                                        missing_var in ("HOMEPAGE", "LICENSE"):
                                        continue
+                               if live_ebuild and missing_var == "KEYWORDS":
+                                       continue
                                myqakey=missingvars[pos]+".missing"
                                stats[myqakey]=stats[myqakey]+1
                                fails[myqakey].append(x+"/"+y+".ebuild")
@@ -1184,7 +1187,7 @@ for x in scanlist:
                previous_keywords = slot_keywords.get(myaux["SLOT"])
                if previous_keywords is None:
                        slot_keywords[myaux["SLOT"]] = set()
-               else:
+               elif not live_ebuild:
                        dropped_keywords = previous_keywords.difference(ebuild_archs)
                        if dropped_keywords:
                                stats["KEYWORDS.dropped"] += 1
@@ -1210,7 +1213,7 @@ for x in scanlist:
                Ebuilds that inherit a "Live" eclass (darcs,subversion,git,cvs,etc..) should
                not be allowed to be marked stable
                """
-               if live_eclasses.intersection(pkg.inherited):
+               if live_ebuild:
                        bad_stable_keywords = []
                        for keyword in keywords:
                                if not keyword.startswith("~") and \