summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-09-29 16:58:48 +0000
committerZac Medico <zmedico@gentoo.org>2008-09-29 16:58:48 +0000
commit6a45cf7fa340be3754f12222089f2e57cb560b4a (patch)
treea89f4fe931e2043733f649831f1c11d15aca6100
parentd7a2d84dd11b355b51fdd7e223b0c09d9d7bc0f1 (diff)
downloadportage-6a45cf7fa340be3754f12222089f2e57cb560b4a.tar.gz
portage-6a45cf7fa340be3754f12222089f2e57cb560b4a.tar.bz2
portage-6a45cf7fa340be3754f12222089f2e57cb560b4a.zip
Bug #239006 - In FakeVartree._aux_get_wrapper(), fall back to vdb metadata
if the live ebuild's EAPI is unsupported. svn path=/main/trunk/; revision=11600
-rw-r--r--pym/_emerge/__init__.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 000f2f6dc..ac168bd1f 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -1102,7 +1102,7 @@ class FakeVartree(portage.vartree):
self._match = self.dbapi.match
self.dbapi.match = self._match_wrapper
self._aux_get_history = set()
- self._portdb_keys = ["DEPEND", "RDEPEND", "PDEPEND"]
+ self._portdb_keys = ["EAPI", "DEPEND", "RDEPEND", "PDEPEND"]
self._portdb = portdb
self._global_updates = None
@@ -1128,6 +1128,8 @@ class FakeVartree(portage.vartree):
# Use the live ebuild metadata if possible.
live_metadata = dict(izip(self._portdb_keys,
self._portdb.aux_get(pkg, self._portdb_keys)))
+ if not portage.eapi_is_supported(live_metadata["EAPI"]):
+ raise KeyError(pkg)
self.dbapi.aux_update(pkg, live_metadata)
except (KeyError, portage.exception.PortageException):
if self._global_updates is None: