From 58ba036b77ce5b2250e54a4d4742d1c7c08efb4b Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 28 Jun 2009 19:40:39 +0000 Subject: Use Package.invalid to generate *.syntax repoman errors for LICENSE, PROPERTIES, PROVIDE, and RESTRICT. svn path=/main/trunk/; revision=13728 --- bin/repoman | 24 ++++++++++-------------- pym/_emerge/Package.py | 10 +++------- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/bin/repoman b/bin/repoman index 09b79da23..3ea879c35 100755 --- a/bin/repoman +++ b/bin/repoman @@ -1199,6 +1199,14 @@ for x in scanlist: continue pkg = pkgs[y] + + if pkg.invalid: + for k, msgs in pkg.invalid.iteritems(): + for msg in msgs: + stats[k] = stats[k] + 1 + fails[k].append("%s %s" % (relative_path, msg)) + continue + myaux = pkg.metadata eapi = myaux["EAPI"] inherited = pkg.inherited @@ -1232,21 +1240,9 @@ for x in scanlist: "%s: '%s' found in thirdpartymirrors" % \ (relative_path, mirror)) - # Test for negative logic and bad words in the RESTRICT var. - #for x in myaux[allvars.index("RESTRICT")].split(): - # if x.startswith("no"): - # print "Bad RESTRICT value: %s" % x - try: - portage.dep.use_reduce( - portage.dep.paren_reduce(myaux["PROVIDE"]), matchall=1) - except portage.exception.InvalidDependString, e: - stats["PROVIDE.syntax"] = stats["PROVIDE.syntax"] + 1 - fails["PROVIDE.syntax"].append(mykey+".ebuild PROVIDE: "+str(e)) - del e - continue - # The Package class automatically evaluates USE conditionals. - for myprovide in myaux["PROVIDE"].split(): + for myprovide in portage.flatten(portage.dep.use_reduce( + portage.dep.paren_reduce(pkg.metadata['PROVIDE']), matchall=1)): prov_cp = portage.dep_getkey(myprovide) if prov_cp != myprovide: stats["virtual.versioned"]+=1 diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index 512703b83..c2eaf0ee6 100644 --- a/pym/_emerge/Package.py +++ b/pym/_emerge/Package.py @@ -187,14 +187,10 @@ class _PackageMetadataWrapper(_PackageMetadataWrapperBase): def __getitem__(self, k): v = _PackageMetadataWrapperBase.__getitem__(self, k) if k in self._use_conditional_keys: - if '?' in v: + if self._pkg.root_config.settings.local_config and '?' in v: try: - if self._pkg.root_config.settings.local_config: - v = paren_enclose(paren_normalize(use_reduce( - paren_reduce(v), uselist=self._pkg.use.enabled))) - else: - v = paren_enclose(paren_normalize(use_reduce( - paren_reduce(v), matchall=1))) + v = paren_enclose(paren_normalize(use_reduce( + paren_reduce(v), uselist=self._pkg.use.enabled))) except portage.exception.InvalidDependString: # This error should already have been registered via # self._pkg._invalid_metadata(). -- cgit v1.2.3-1-g7c22