aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-24 23:25:27 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-24 23:25:27 -0700
commit88ab3aed122734578dc4939403c9393d8afbf6ae (patch)
tree5b56c8c810019a6285db2d3b527de070d9ee5279
parentwritedict: use write_atomic for exceptions (diff)
downloadportage-88ab3aed122734578dc4939403c9393d8afbf6ae.tar.gz
portage-88ab3aed122734578dc4939403c9393d8afbf6ae.tar.bz2
portage-88ab3aed122734578dc4939403c9393d8afbf6ae.zip
FakeVartree: tweak _aux_get_wrapper EAPI handling
-rw-r--r--pym/_emerge/FakeVartree.py5
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):