diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-08-26 14:29:34 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-08-26 14:29:34 -0700 |
commit | bf9b3e70758454afa53972340abc98a248195e45 (patch) | |
tree | be006323ea37fcad7be18d99821d883cfe9bc6ec /pym/_emerge | |
parent | 1112bbcd7f74e8fc507d0057fb153c9bbed8fc50 (diff) | |
download | portage-bf9b3e70758454afa53972340abc98a248195e45.tar.gz portage-bf9b3e70758454afa53972340abc98a248195e45.tar.bz2 portage-bf9b3e70758454afa53972340abc98a248195e45.zip |
Make the Atom class add 'EAPI.incompatible' category attributes to
InvalidAtom exceptions, make use_reduce() raise InvalidDependString
exceptions that encapsulate InvalidAtom exceptions, and make
Package._validate_deps() use the InvalidAtom categories when
recording the invalid metadata for use by repoman. Also, remove
the EAPI.incompatible code from repoman that's no longer used.
Diffstat (limited to 'pym/_emerge')
-rw-r--r-- | pym/_emerge/Package.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index e361c28be..b6f2d585a 100644 --- a/pym/_emerge/Package.py +++ b/pym/_emerge/Package.py @@ -76,7 +76,18 @@ class Package(Task): use_reduce(v, eapi=eapi, is_valid_flag=self.iuse.is_valid_flag, token_class=Atom) except portage.exception.InvalidDependString as e: - self._invalid_metadata(k + ".syntax", "%s: %s" % (k, e)) + categorized_error = False + if e.errors: + for error in e.errors: + if getattr(error, 'category', None) is None: + continue + categorized_error = True + self._invalid_metadata(error.category, + "%s: %s" % (k, error)) + + if not categorized_error: + self._invalid_metadata(k + ".syntax", + "%s: %s" % (k, e)) k = 'REQUIRED_USE' v = self.metadata.get(k) |