[yum-cvs] yum/yum depsolve.py,1.115,1.116 packages.py,1.90,1.91

Seth Vidal skvidal at linux.duke.edu
Wed Feb 14 20:41:38 UTC 2007


Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv20763/yum

Modified Files:
	depsolve.py packages.py 
Log Message:
remove the need for .hdr files for the transaction run.
- add 'noheaders' option to DepSolve.populateTs(). Defaults to False for
  backward api compat. When True it will not attempt to retrieve the .hdr
  via byteranges but will read it out of the rpm

add 


Index: depsolve.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/depsolve.py,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -r1.115 -r1.116
--- depsolve.py	14 Feb 2007 18:20:46 -0000	1.115
+++ depsolve.py	14 Feb 2007 20:41:36 -0000	1.116
@@ -120,7 +120,7 @@
         
         return 0
 
-    def populateTs(self, test=0, keepold=1):
+    def populateTs(self, test=0, keepold=1, noheaders=False):
         """take transactionData class and populate transaction set"""
 
         if self.dsCallback: self.dsCallback.transactionPopulation()
@@ -147,9 +147,15 @@
             if txmbr.ts_state in ['u', 'i']:
                 if ts_elem.has_key((txmbr.pkgtup, 'i')):
                     continue
-                self.downloadHeader(txmbr.po)
-                hdr = txmbr.po.returnLocalHeader()
                 rpmfile = txmbr.po.localPkg()
+                if not noheaders:
+                    self.downloadHeader(txmbr.po)
+                    hdr = txmbr.po.returnLocalHeader()
+                else:
+                    # get header from the rpm itself
+                    # maybe we should check to see if the file exists, first?
+
+                    hdr = txmbr.po.returnHeaderFromPackage(self.ts)
                 
                 if txmbr.ts_state == 'u':
                     if self.allowedMultipleInstalls(txmbr.po):

Index: packages.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/packages.py,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -r1.90 -r1.91
--- packages.py	14 Feb 2007 17:43:13 -0000	1.90
+++ packages.py	14 Feb 2007 20:41:36 -0000	1.91
@@ -439,6 +439,11 @@
             return int(fragid)
         return None
     
+    def returnHeaderFromPackage(self, read_ts):
+        rpmfile = self.localPkg()
+        hdr = rpmUtils.miscutils.hdrFromPackage(read_ts, rpmfile)
+        return hdr
+        
     def returnLocalHeader(self):
         """returns an rpm header object from the package object's local
            header cache"""




More information about the Yum-cvs-commits mailing list