summaryrefslogtreecommitdiffstats
path: root/pym/portage/dbapi/bintree.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/bintree.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/bintree.py')
-rw-r--r--pym/portage/dbapi/bintree.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py
index 1048cc108..e3de50f08 100644
--- a/pym/portage/dbapi/bintree.py
+++ b/pym/portage/dbapi/bintree.py
@@ -377,6 +377,10 @@ class binarytree(object):
if not origmatches:
return moves
for mycpv in origmatches:
+ try:
+ mycpv = self.dbapi._pkg_str(mycpv, None)
+ except (KeyError, InvalidData):
+ continue
mycpv_cp = portage.cpv_getkey(mycpv)
if mycpv_cp != origcp:
# Ignore PROVIDE virtual match.
@@ -404,7 +408,7 @@ class binarytree(object):
moves += 1
mytbz2 = portage.xpak.tbz2(tbz2path)
mydata = mytbz2.get_data()
- updated_items = update_dbentries([mylist], mydata)
+ updated_items = update_dbentries([mylist], mydata, eapi=mycpv.eapi)
mydata.update(updated_items)
mydata[b'PF'] = \
_unicode_encode(mynewpkg + "\n",