diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-05-24 23:25:27 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-05-24 23:25:27 -0700 |
commit | 88ab3aed122734578dc4939403c9393d8afbf6ae (patch) | |
tree | 5b56c8c810019a6285db2d3b527de070d9ee5279 | |
parent | 3f91c71b99e6bdeecf9dcf171769b8a924065af7 (diff) | |
download | portage-88ab3aed122734578dc4939403c9393d8afbf6ae.tar.gz portage-88ab3aed122734578dc4939403c9393d8afbf6ae.tar.bz2 portage-88ab3aed122734578dc4939403c9393d8afbf6ae.zip |
FakeVartree: tweak _aux_get_wrapper EAPI handling
-rw-r--r-- | pym/_emerge/FakeVartree.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pym/_emerge/FakeVartree.py b/pym/_emerge/FakeVartree.py index 51683ca5b..abdbf7386 100644 --- a/pym/_emerge/FakeVartree.py +++ b/pym/_emerge/FakeVartree.py @@ -86,6 +86,9 @@ class FakeVartree(vartree): if pkg in self._aux_get_history: return self._aux_get(pkg, wants) self._aux_get_history.add(pkg) + # We need to check the EAPI, and this also raises + # a KeyError to the caller if appropriate. + installed_eapi, = self._aux_get(pkg, ["EAPI"]) try: # Use the live ebuild metadata if possible. repo = self._aux_get(pkg, ["repository"])[0] @@ -93,7 +96,7 @@ class FakeVartree(vartree): live_metadata = dict(zip(self._portdb_keys, self._portdb.aux_get(pkg, self._portdb_keys, myrepo=repo))) if not portage.eapi_is_supported(live_metadata["EAPI"]) or \ - self._aux_get(pkg, ["EAPI"])[0] != live_metadata["EAPI"]: + installed_eapi != live_metadata["EAPI"]: raise KeyError(pkg) self.dbapi.aux_update(pkg, live_metadata) except (KeyError, portage.exception.PortageException): |