[Yum-devel] [PATCH 4/7] Don't check .reason for upgrades, in makelist. And inherit on upgrade.

James Antill james at and.org
Tue Jul 16 13:43:30 UTC 2013


---
 yum/transactioninfo.py |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/yum/transactioninfo.py b/yum/transactioninfo.py
index 57a6764..8316b9b 100644
--- a/yum/transactioninfo.py
+++ b/yum/transactioninfo.py
@@ -379,7 +379,7 @@ class TransactionData:
 
         for txmbr in self.getMembers():
             if txmbr.output_state == TS_UPDATE:
-                if txmbr.isDep and txmbr.reason != 'user':
+                if txmbr.isDep:
                     self.depupdated.append(txmbr)
                 else:
                     self.updated.append(txmbr)
@@ -401,6 +401,8 @@ class TransactionData:
                     for evg in txmbr.environments:
                         if evg not in self.instenvironments:
                             self.instenvironments.append(evg)
+                #  "user" here is kind of a hack ... we really shouldn't have
+                # .isDep == True, but this probably doesn't hurt.
                 if txmbr.isDep and txmbr.reason != 'user':
                     self.depinstalled.append(txmbr)
                 else:
@@ -459,7 +461,6 @@ class TransactionData:
         txmbr.output_state = TS_INSTALL
         txmbr.po.state = TS_INSTALL        
         txmbr.ts_state = 'u'
-        txmbr.reason = 'user'
 
         if self.rpmdb.contains(po=txmbr.po):
             txmbr.reinstall = True
@@ -477,7 +478,6 @@ class TransactionData:
         txmbr.output_state = TS_TRUEINSTALL
         txmbr.po.state = TS_INSTALL        
         txmbr.ts_state = 'i'
-        txmbr.reason = 'user'
 
         if self.rpmdb.contains(po=txmbr.po):
             txmbr.reinstall = True
@@ -546,6 +546,10 @@ class TransactionData:
         txmbr.ts_state = 'ud'
         txmbr.relatedto.append((updating_po, 'updatedby'))
         txmbr.updated_by.append(updating_po)
+
+        if 'reason' in po.yumdb_info: # Propbably worthless, but...
+            txmbr.reason = po.yumdb_info.reason
+
         self.add(txmbr)
         return txmbr
 
@@ -578,6 +582,10 @@ class TransactionData:
         txmbr.ts_state = 'od'
         txmbr.relatedto.append((obsoleting_po, 'obsoletedby'))
         txmbr.obsoleted_by.append(obsoleting_po)
+
+        if 'reason' in po.yumdb_info: # Propbably worthless, but...
+            txmbr.reason = po.yumdb_info.reason
+
         self.add(txmbr)
         for otxmbr in self.getMembersWithState(obsoleting_po.pkgtup,
                                                [TS_OBSOLETING]):
-- 
1.7.7.6



More information about the Yum-devel mailing list