summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/FakeVartree.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-24 20:57:33 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-24 20:57:33 -0700
commitfaa536f437c445c3d2eb06c791b1492101474cc9 (patch)
treed9aea7dbb8cd7b945cae20fe9d340ce702b96bd9 /pym/_emerge/FakeVartree.py
parentb883f09d47cf107224946c49bdb57aeb1d76ad92 (diff)
downloadportage-faa536f437c445c3d2eb06c791b1492101474cc9.tar.gz
portage-faa536f437c445c3d2eb06c791b1492101474cc9.tar.bz2
portage-faa536f437c445c3d2eb06c791b1492101474cc9.zip
FakeVartree: preserve EAPI of installed package
If the corresponding unbuilt ebuild has a different EAPI than the installed instance, then we want to preserve the EAPI meatadata from the installed instance.
Diffstat (limited to 'pym/_emerge/FakeVartree.py')
-rw-r--r--pym/_emerge/FakeVartree.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/pym/_emerge/FakeVartree.py b/pym/_emerge/FakeVartree.py
index 3e8113078..51683ca5b 100644
--- a/pym/_emerge/FakeVartree.py
+++ b/pym/_emerge/FakeVartree.py
@@ -92,7 +92,8 @@ class FakeVartree(vartree):
repo = _gen_valid_repo(repo)
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"]):
+ if not portage.eapi_is_supported(live_metadata["EAPI"]) or \
+ self._aux_get(pkg, ["EAPI"])[0] != live_metadata["EAPI"]:
raise KeyError(pkg)
self.dbapi.aux_update(pkg, live_metadata)
except (KeyError, portage.exception.PortageException):