[yum-git] test/transactiontests.py yum/depsolve.py yum/transactioninfo.py

James Antill james at linux.duke.edu
Sun Feb 17 03:02:38 UTC 2008


 test/transactiontests.py |    2 +-
 yum/depsolve.py          |    8 ++------
 yum/transactioninfo.py   |    6 +++---
 3 files changed, 6 insertions(+), 10 deletions(-)

New commits:
commit 1d71971da64de3378bd3499abb1b61fd0353a6b4
Author: James Antill <james at and.org>
Date:   Sat Feb 16 22:02:25 2008 -0500

    Change relatedto to be actual packages, hopefully real fix for bug#433047

diff --git a/test/transactiontests.py b/test/transactiontests.py
index ed2f4a5..210df97 100644
--- a/test/transactiontests.py
+++ b/test/transactiontests.py
@@ -99,7 +99,7 @@ class TransactionDataTests(unittest.TestCase):
         self.assertEqual(txmbr.output_state, TS_UPDATE)
         self.assertEqual(txmbr.po.state, TS_UPDATE)
         self.assertEqual(txmbr.ts_state, 'u')
-        self.assertEqual(txmbr.relatedto, [(self.foogui1.pkgtup, 'updates')])
+        self.assertEqual(txmbr.relatedto, [(self.foogui1, 'updates')])
         self.assertEqual(txmbr.updates, [self.foogui1])
         
 
diff --git a/yum/depsolve.py b/yum/depsolve.py
index 5afa85f..e72df24 100644
--- a/yum/depsolve.py
+++ b/yum/depsolve.py
@@ -738,11 +738,7 @@ class Depsolve(object):
             # it is useful when an update is breaking an require of an installed package
             # then we want to know who is causing the problem, not just who is having the problem. 
             if not txmbr.updates and txmbr.relatedto:
-                tpos = self.tsInfo.getMembers(txmbr.relatedto[0][0])
-                if not tpos: # Find the po from somewhere else / fix relatedto?
-                    self._working_po = txmbr.relatedto[0][0]
-                else:
-                    self._working_po = tpos[0].po
+                self._working_po = txmbr.relatedto[0][0]
             else:
                 self._working_po = txmbr.po
            
@@ -802,7 +798,7 @@ class Depsolve(object):
                     continue
                 for member in self.tsInfo.getMembersWithState(
                     pkgtup=po.pkgtup, output_states=TS_INSTALL_STATES):
-                    member.relatedto.append((txmbr.po.pkgtup, 'dependson'))
+                    member.relatedto.append((txmbr.po, 'dependson'))
 
         return ret
 
diff --git a/yum/transactioninfo.py b/yum/transactioninfo.py
index 9d10162..3bded50 100644
--- a/yum/transactioninfo.py
+++ b/yum/transactioninfo.py
@@ -350,7 +350,7 @@ class TransactionData:
         txmbr.po.state = TS_UPDATE        
         txmbr.ts_state = 'u'
         if oldpo:
-            txmbr.relatedto.append((oldpo.pkgtup, 'updates'))
+            txmbr.relatedto.append((oldpo, 'updates'))
             txmbr.updates.append(oldpo)
             
         self.add(txmbr)
@@ -526,7 +526,7 @@ class TransactionMember:
         self.isDep = 0
         self.reason = 'user' # reason for it to be in the transaction set
         self.process = None # 
-        self.relatedto = [] # ([relatedpkgtup, relationship)]
+        self.relatedto = [] # ([relatedpkg, relationship)]
         self.depends_on = []
         self.obsoletes = []
         self.obsoleted_by = []
@@ -546,7 +546,7 @@ class TransactionMember:
         
         self.isDep = 1
         if po:
-            self.relatedto.append((po.pkgtup, 'dependson'))
+            self.relatedto.append((po, 'dependson'))
             self.depends_on.append(po)
 
     def __cmp__(self, other):



More information about the Yum-cvs-commits mailing list