From ba79ae3598f97889a71797a8b1f9cb393c868653 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 8 Jun 2007 19:28:06 +0000 Subject: 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 --- pym/portage.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'pym') 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) -- cgit v1.2.3-1-g7c22