summaryrefslogtreecommitdiffstats
path: root/pym/portage/dbapi/vartree.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-07-17 15:21:04 -0700
committerZac Medico <zmedico@gentoo.org>2012-07-17 15:21:04 -0700
commit9ea1eb84c6c2cd91e31196471ec8ad4339988611 (patch)
tree858c3bb43a799b2f7bcaf3d97966847d5a24a831 /pym/portage/dbapi/vartree.py
parent484d2df3fb2f65414746dbb85fa81d99f374648f (diff)
downloadportage-9ea1eb84c6c2cd91e31196471ec8ad4339988611.tar.gz
portage-9ea1eb84c6c2cd91e31196471ec8ad4339988611.tar.bz2
portage-9ea1eb84c6c2cd91e31196471ec8ad4339988611.zip
Propagate EAPI for update_dbentry (bug #426476).
Diffstat (limited to 'pym/portage/dbapi/vartree.py')
-rw-r--r--pym/portage/dbapi/vartree.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index dddc094d2..264790a03 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -321,6 +321,10 @@ class vardbapi(dbapi):
if not origmatches:
return moves
for mycpv in origmatches:
+ try:
+ mycpv = self._pkg_str(mycpv, None)
+ except (KeyError, InvalidData):
+ continue
mycpv_cp = cpv_getkey(mycpv)
if mycpv_cp != origcp:
# Ignore PROVIDE virtual match.
@@ -358,7 +362,7 @@ class vardbapi(dbapi):
del e
write_atomic(os.path.join(newpath, "PF"), new_pf+"\n")
write_atomic(os.path.join(newpath, "CATEGORY"), mynewcat+"\n")
- fixdbentries([mylist], newpath)
+ fixdbentries([mylist], newpath, eapi=mycpv.eapi)
return moves
def cp_list(self, mycp, use_cache=1):