[yum-cvs] yum/yum depsolve.py, 1.57, 1.58 transactioninfo.py, 1.12, 1.13

Seth Vidal skvidal at login.linux.duke.edu
Thu Mar 3 07:45:42 UTC 2005


Update of /home/groups/yum/cvs/yum/yum
In directory login:/tmp/cvs-serv1840/yum

Modified Files:
	depsolve.py transactioninfo.py 
Log Message:

clean up the txmbr stuff to use package objects internally.
need to also use them for the transaction-set relationship information


Index: depsolve.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/depsolve.py,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- depsolve.py	2 Mar 2005 04:31:30 -0000	1.57
+++ depsolve.py	3 Mar 2005 07:45:40 -0000	1.58
@@ -154,7 +154,7 @@
                 for idx in indexes:
                     self.ts.addErase(idx)
                     if self.dsCallback: self.dsCallback.pkgAdded(txmbr.pkgtup, 'e')
-                    self.log(4, 'Removing Package %s-%s-%s.%s' % (txmbr.name, txmbr.ver, txmbr.rel, txmbr.arch))
+                    self.log(4, 'Removing Package %s' % txmbr.po)
         
     def resolveDeps(self):
 

Index: transactioninfo.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/transactioninfo.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- transactioninfo.py	14 Feb 2005 06:00:20 -0000	1.12
+++ transactioninfo.py	3 Mar 2005 07:45:40 -0000	1.13
@@ -176,19 +176,11 @@
         """adds a package as an install but in mode 'u' to the ts
            takes a packages object and returns a TransactionMember Object"""
     
-        txmbr = TransactionMember()
-        txmbr.po = po
-        txmbr.pkgtup = po.pkgtup
+        txmbr = TransactionMember(po)
         txmbr.current_state = 'repo'
         txmbr.output_state = 'installing'
         txmbr.ts_state = 'u'
         txmbr.reason = 'user'
-        txmbr.name = po.name
-        txmbr.arch = po.arch
-        txmbr.epoch = po.epoch
-        txmbr.ver = po.version
-        txmbr.rel = po.release
-        txmbr.repoid = po.repoid
         self.add(txmbr)
         return txmbr
 
@@ -196,19 +188,11 @@
         """adds a package as an install
            takes a packages object and returns a TransactionMember Object"""
     
-        txmbr = TransactionMember()
-        txmbr.po = po        
-        txmbr.pkgtup = po.pkgtup
+        txmbr = TransactionMember(po)
         txmbr.current_state = 'repo'
         txmbr.output_state = 'installing'
         txmbr.ts_state = 'i'
         txmbr.reason = 'user'
-        txmbr.name = po.name
-        txmbr.arch = po.arch
-        txmbr.epoch = po.epoch
-        txmbr.ver = po.version
-        txmbr.rel = po.release
-        txmbr.repoid = po.repoid
         self.add(txmbr)
         return txmbr
     
@@ -217,18 +201,10 @@
         """adds a package as an erasure
            takes a packages object and returns a TransactionMember Object"""
     
-        txmbr = TransactionMember()
-        txmbr.po = po        
-        txmbr.pkgtup = po.pkgtup
+        txmbr = TransactionMember(po)
         txmbr.current_state = 'installed'
         txmbr.output_state = 'erasing'
         txmbr.ts_state = 'e'
-        txmbr.name = po.name
-        txmbr.arch = po.arch
-        txmbr.epoch = po.epoch
-        txmbr.ver = po.version
-        txmbr.rel = po.release
-        txmbr.repoid = po.repoid
         self.add(txmbr)
         return txmbr
 
@@ -236,18 +212,10 @@
         """adds a package as an update
            takes a packages object and returns a TransactionMember Object"""
     
-        txmbr = TransactionMember()
-        txmbr.po = po        
-        txmbr.pkgtup = po.pkgtup
+        txmbr = TransactionMember(po)
         txmbr.current_state = 'repo'
         txmbr.output_state = 'updating'
         txmbr.ts_state = 'u'
-        txmbr.name = po.name
-        txmbr.arch = po.arch
-        txmbr.epoch = po.epoch
-        txmbr.ver = po.version
-        txmbr.rel = po.release
-        txmbr.repoid = po.repoid
         if oldpo:
             txmbr.relatedto.append((oldpo.pkgtup, 'updates'))
         self.add(txmbr)
@@ -257,18 +225,10 @@
         """adds a package as an obsolete over another pkg
            takes a packages object and returns a TransactionMember Object"""
     
-        txmbr = TransactionMember()
-        txmbr.po = po        
-        txmbr.pkgtup = po.pkgtup
+        txmbr = TransactionMember(po)
         txmbr.current_state = 'repo'
         txmbr.output_state = 'obsoleting'
         txmbr.ts_state = 'u'
-        txmbr.name = po.name
-        txmbr.arch = po.arch
-        txmbr.epoch = po.epoch
-        txmbr.ver = po.version
-        txmbr.rel = po.release
-        txmbr.repoid = po.repoid
         txmbr.relatedto.append((oldpo.pkgtup, 'obsoletes'))
         self.add(txmbr)
         return txmbr
@@ -277,18 +237,10 @@
         """adds a package as being obsoleted by another pkg
            takes a packages object and returns a TransactionMember Object"""
     
-        txmbr = TransactionMember()
-        txmbr.po = po        
-        txmbr.pkgtup = po.pkgtup
+        txmbr = TransactionMember(po)
         txmbr.current_state = 'installed'
         txmbr.output_state = 'obsoleted'
         txmbr.ts_state = None
-        txmbr.name = po.name
-        txmbr.arch = po.arch
-        txmbr.epoch = po.epoch
-        txmbr.ver = po.version
-        txmbr.rel = po.release
-        txmbr.repoid = po.repoid
         txmbr.relatedto.append((obsoleting_po.pkgtup, 'obsoletedby'))
         self.add(txmbr)
         return txmbr
@@ -298,27 +250,24 @@
     """Class to describe a Transaction Member (a pkg to be installed/
        updated/erased)."""
     
-    def __init__(self):
+    def __init__(self, po):
         # holders for data
-        self.po = None # package object
-        self.pkgtup = None # package tuple
+        self.po = po # package object
         self.current_state = None # where the package currently is (repo, installed)
         self.ts_state = None # what state to put it into in the transaction set
         self.output_state = None # what state to list if printing it
         self.isDep = 0
         self.reason = 'user' # reason for it to be in the transaction set
-        self.repoid = None # repository id (if any)
-        self.name = None
-        self.arch = None
-        self.epoch = None
-        self.ver = None
-        self.rel = None
         self.process = None # 
         self.relatedto = [] # ([relatedpkgtup, relationship)]
         self.groups = [] # groups it's in
-        self.pkgid = None # pkgid from the package, if it has one, so we can find it
-        self.repoid = None
-    
+        self._poattr = ['pkgtup', 'repoid', 'name', 'arch', 'epoch', 'version',
+                        'release']
+
+        for attr in self._poattr:
+            val = getattr(self.po, attr)
+            setattr(self, attr, val)
+
     def setAsDep(self, pkgtup=None):
         """sets the transaction member as a dependency and maps the dep into the
            relationship list attribute"""
@@ -337,7 +286,8 @@
 
             
     def __str__(self):
-        return "%s.%s %s-%s-%s - %s" % (self.name, self.arch, self.epoch, self.ver, self.rel, self.ts_state)
+        return "%s.%s %s-%s-%s - %s" % (self.name, self.arch, self.epoch,
+                                        self.version, self.release, self.ts_state)
         
     # This is the tricky part - how do we nicely setup all this data w/o going insane
     # we could make the txmember object be created from a YumPackage base object




More information about the Yum-cvs-commits mailing list