diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-08 17:40:20 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-08 17:40:20 +0000 |
commit | 95cb48a6aba8e96dde7487325670e2fe8032ea7b (patch) | |
tree | 0a061f6433fc3933e9b18016e83433bfebd22e9b /bin/emerge | |
parent | ae08980a1ac516729c2a7243ebe8edec2d3865d5 (diff) | |
download | portage-95cb48a6aba8e96dde7487325670e2fe8032ea7b.tar.gz portage-95cb48a6aba8e96dde7487325670e2fe8032ea7b.tar.bz2 portage-95cb48a6aba8e96dde7487325670e2fe8032ea7b.zip |
Bug #220341 - USE=multislot can make an installed package appear as if
it doesn't satisfy a slot dependency. Rebuilding the ebuild won't do
any good as long as USE=multislot is enabled since 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. (trunk r10237)
svn path=/main/branches/2.1.2/; revision=10238
Diffstat (limited to 'bin/emerge')
-rwxr-xr-x | bin/emerge | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/bin/emerge b/bin/emerge index c926f8c36..c3ed70ed5 100755 --- a/bin/emerge +++ b/bin/emerge @@ -3085,6 +3085,18 @@ class depgraph(object): cpv_list = db.xmatch("match-all", atom) else: cpv_list = db.match(atom) + + # USE=multislot can make an installed package appear as if + # it doesn't satisfy a slot dependency. Rebuilding the ebuild + # won't do any good as long as USE=multislot is enabled since + # 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 vardb.cpv_exists(matched_packages[-1].cpv) and \ + portage_dep.dep_getslot(atom): + cpv_list = [matched_packages[-1].cpv] + if not cpv_list: continue pkg_status = "merge" |