From 6516b0319d62701bd17f7c78ebb677b7f0508f26 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 5 Oct 2006 06:50:05 +0000 Subject: For bug #4698, use slot deps to ensure that all installed slots are automatically updated. svn path=/main/trunk/; revision=4595 --- bin/emerge | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/bin/emerge b/bin/emerge index 90c1778b1..d2d3e768e 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1307,6 +1307,7 @@ class depgraph: return retlist def xcreate(self,mode="system"): + vardb = self.trees[self.target_root]["vartree"].dbapi world_problems = False if mode=="system": mylist = getlist(self.settings, "system") @@ -1328,10 +1329,20 @@ class depgraph: newlist = [] for atom in mylist: - if portage.dep_getkey(atom).split("/")[-1] == "portage": + mykey = portage.dep_getkey(atom) + if portage.catsplit(mykey)[-1] == "portage": newlist.insert(0, atom) else: newlist.append(atom) + """Make sure all installed slots are updated when possible. + Do this with --emptytree also, to ensure that all slots are + remerged.""" + myslots = set() + for cpv in vardb.match(mykey): + myslots.add(vardb.aux_get(cpv, ["SLOT"])[0]) + if len(myslots) > 1: + for myslot in myslots: + newlist.append("%s:%s" % (mykey, myslot)) mylist = newlist missing_atoms = [] -- cgit v1.2.3-1-g7c22