From: Zac Medico Date: Thu, 8 May 2008 17:37:38 +0000 (-0000) Subject: Bug #220341 - USE=multislot can make an installed package appear as if X-Git-Tag: v2.2_pre7~65 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=65a421ae35acd5639ad1258e220754a85e55de6e;p=portage.git 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. svn path=/main/trunk/; revision=10237 --- diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index f7efbb6a9..f245805cd 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -2933,6 +2933,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"