On Sun, 7 Feb 2010, Tim Lauridsen wrote:
--- yum/__init__.py | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/yum/__init__.py b/yum/__init__.py index 968362c..b9f9430 100644 --- a/yum/__init__.py +++ b/yum/__init__.py @@ -4025,10 +4025,14 @@ class YumBase(depsolve.Depsolve): continue if numleft == 0: break - toremove.append(po) + toremove.append([po,m]) numleft -= 1 - map(self.tsInfo.addErase, toremove) + for po,rel in toremove: + txmbr = self.tsInfo.addErase(toremove) + # Add a dep relation to the new version of the package, causing this one to be erased + # this way skipbroken, should clean out the old one, if the new one is skipped + txmbr.depends_on.append(rel) def processTransaction(self, callback=None,rpmTestDisplay=None, rpmDisplay=None): '''
It's a bit of a weird relationship but it's accurate. The older kernel is being removed as a requirement of installing the newer one.
Unless we can come up with a better way of describing this I'm inclined to ACK:
one minor thing: unless I'm misreading it there's no reason to make [po, m] a list and not a tuple:
so: toremove.append((po,m)) is probably better. -sv _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel