Hi!
The attached patch makes sure that an updated pkg is removed even if the
updating pkg already got added to the transaction. This fixes updates from
multilib (32 and 64 bit installed) to noarch. Currently the first update
operation (e.g. 32bit -> noarch) works but the second (64bit -> noarch) is
ignored. As result there are two pkg in different arches and versions which
will most likely result in an multilib file conflict. The current patch
makes sure that the updated pkg is only rejected if itself is already in the
transaction (as a REMOVE).
Florian
>From f057fdca8c3ef6e1b6f793a8ba799ab272d03fb0 Mon Sep 17 00:00:00 2001
From: Florian Festi <[EMAIL PROTECTED]>
Date: Tue, 30 Oct 2007 11:49:49 +0100
Subject: [PATCH] Make sure that packages get updated even if new package is already in transaction
---
yum/transactioninfo.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/yum/transactioninfo.py b/yum/transactioninfo.py
index 096a3c0..f914721 100644
--- a/yum/transactioninfo.py
+++ b/yum/transactioninfo.py
@@ -151,6 +151,9 @@ class TransactionData:
def add(self, txmember):
"""add a package to the transaction"""
+ for oldpo in txmember.updates:
+ self.addUpdated(oldpo, txmember.po)
+
if not self.pkgdict.has_key(txmember.pkgtup):
self.pkgdict[txmember.pkgtup] = []
else:
@@ -174,8 +177,6 @@ class TransactionData:
condtxmbr = self.addInstall(po)
condtxmbr.setAsDep(po=txmember.po)
- for oldpo in txmember.updates:
- self.addUpdated(oldpo, txmember.po)
def remove(self, pkgtup):
"""remove a package from the transaction"""
--
1.5.2.4
_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel