From: Zac Medico Date: Fri, 8 Jun 2007 19:28:06 +0000 (-0000) Subject: When dblink.treewalk() looks for an installed instance in the same slot, make sure... X-Git-Tag: v2.1.2.10~13 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=ba79ae3598f97889a71797a8b1f9cb393c868653;p=portage.git When dblink.treewalk() looks for an installed instance in the same slot, make sure that it selects the one with the highest COUNTER in case there are multiple matches. (trunk r6737) svn path=/main/branches/2.1.2/; revision=6758 --- diff --git a/pym/portage.py b/pym/portage.py index 05283f3ff..bbd5da93d 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -7307,6 +7307,14 @@ class dblink: "%s:%s" % (self.mysplit[0], self.settings["SLOT"])) if slot_matches: # Used by self.isprotected(). + max_cpv = None + max_counter = -1 + for cur_cpv in slot_matches: + cur_counter = self.vartree.dbapi.cpv_counter(cur_cpv) + if cur_counter > max_counter: + max_counter = cur_counter + max_cpv = cur_cpv + slot_matches = [max_cpv] self._installed_instance = dblink(self.cat, catsplit(slot_matches[0])[1], destroot, self.settings, vartree=self.vartree)