summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-28 22:06:45 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-28 22:06:45 +0000
commit8eb863f2b33e0ad583a4046f049fcc9151a952b6 (patch)
tree365d2107e9bad8a44e5c84814bc6847410c1cdb8
parentdcaa4698402c5202947d1f7512683325bd76c943 (diff)
downloadportage-8eb863f2b33e0ad583a4046f049fcc9151a952b6.tar.gz
portage-8eb863f2b33e0ad583a4046f049fcc9151a952b6.tar.bz2
portage-8eb863f2b33e0ad583a4046f049fcc9151a952b6.zip
Update the fix from bug #220341 to protect USE deps from being neglected.
svn path=/main/trunk/; revision=10467
-rw-r--r--pym/_emerge/__init__.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 61141d675..9dcc16414 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -3067,12 +3067,21 @@ class depgraph(object):
# the newly built package still won't have the expected slot.
# Therefore, assume that such SLOT dependencies are already
# satisfied rather than forcing a rebuild.
- if installed and not cpv_list and matched_packages \
- and portage.dep.dep_getslot(atom):
+ if installed and not cpv_list and \
+ matched_packages and atom.slot:
for pkg in matched_packages:
- if vardb.cpv_exists(pkg.cpv):
+ if not vardb.cpv_exists(pkg.cpv):
+ continue
+ # Remove the slot from the atom and verify that
+ # the package matches the resulting atom.
+ atom_without_slot = portage.dep.remove_slot(atom)
+ if atom.use:
+ atom_without_slot += str(atom.use)
+ atom_without_slot = portage.dep.Atom(atom_without_slot)
+ if portage.match_from_list(
+ atom_without_slot, [pkg]):
cpv_list = [pkg.cpv]
- break
+ break
if not cpv_list:
continue