projects
/
portage.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
708bb0e
)
Fix PackageVirtualDbapi.cpv_inject() to make sure packages with duplicate
author
Zac Medico
<zmedico@gentoo.org>
Mon, 28 Apr 2008 02:03:08 +0000
(
02:03
-0000)
committer
Zac Medico
<zmedico@gentoo.org>
Mon, 28 Apr 2008 02:03:08 +0000
(
02:03
-0000)
cpv or slot are handled correctly.
svn path=/main/trunk/; revision=10014
pym/_emerge/__init__.py
patch
|
blob
|
history
diff --git
a/pym/_emerge/__init__.py
b/pym/_emerge/__init__.py
index 06060b0fdc301c39e52d3c7984bd10a76c08cc4a..9476343540a3f35f43b81a0b6d82699f2c02fcde 100644
(file)
--- a/
pym/_emerge/__init__.py
+++ b/
pym/_emerge/__init__.py
@@
-1583,11
+1583,17
@@
class PackageVirtualDbapi(portage.dbapi):
if cp_list is None:
cp_list = []
self._cp_map[pkg.cp] = cp_list
+ e_pkg = self._cpv_map.get(pkg.cpv)
+ if e_pkg is not None:
+ if e_pkg == pkg:
+ return
+ self.cpv_remove(e_pkg)
for e_pkg in cp_list:
if e_pkg.slot_atom == pkg.slot_atom:
if e_pkg == pkg:
return
self.cpv_remove(e_pkg)
+ break
cp_list.append(pkg)
self._cpv_map[pkg.cpv] = pkg
self._clear_cache()