diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-28 22:06:45 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-28 22:06:45 +0000 |
commit | 8eb863f2b33e0ad583a4046f049fcc9151a952b6 (patch) | |
tree | 365d2107e9bad8a44e5c84814bc6847410c1cdb8 | |
parent | dcaa4698402c5202947d1f7512683325bd76c943 (diff) | |
download | portage-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__.py | 17 |
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 |