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

Reply via email to