[yum-cvs] yum/yum __init__.py, 1.198, 1.199 config.py, 1.96, 1.97 sqlitesack.py, 1.29, 1.30

Seth Vidal skvidal at linux.duke.edu
Tue Apr 11 21:37:25 UTC 2006


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

Modified Files:
	__init__.py config.py sqlitesack.py 
Log Message:

merge in jbowes patches for his previous patches - 4/4
had to modify the patch due to first hunk not actually having a change in
it.


Index: __init__.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/__init__.py,v
retrieving revision 1.198
retrieving revision 1.199
diff -u -r1.198 -r1.199
--- __init__.py	22 Mar 2006 19:37:31 -0000	1.198
+++ __init__.py	11 Apr 2006 21:37:23 -0000	1.199
@@ -60,8 +60,9 @@
         depsolve.Depsolve.__init__(self)
         self.localdbimported = 0
         self.repos = repos.RepoStorage() # class of repositories
-        if (not self.repos.sqlite):
-            self.log(1,"Warning, could not load sqlite, falling back to pickle")
+        # TODO: PAV Fix this 
+        #if (not self.repos.sqlite):
+        #    self.log(1,"Warning, could not load sqlite, falling back to pickle")
 
         # Start with plugins disabled
         self.disablePlugins()
@@ -236,28 +237,7 @@
 
         num = 1
         for repo in repos:
-            if repo.repoXML is not None and len(repo.urls) > 0:
-                num += 1
-                continue
-            if self.repos.callback:
-                self.repos.callback.log(2, '%-68s [%d/%d]' % 
-                                        (repo.id, num, len(repos)))
-                
-            try:
-                repo.cache = self.conf.cache
-                repo.baseurlSetup()
-                repo.dirSetup()
-                self.log(3, 'Baseurl(s) for repo: %s' % repo.urls)
-            except Errors.RepoError, e:
-                self.errorlog(0, '%s' % e)
-                raise
-                
-            try:
-                repo.getRepoXML(text=repo)
-            except Errors.RepoError, e:
-                self.errorlog(0, 'Cannot open/read repomd.xml file for repository: %s' % repo)
-                self.errorlog(0, str(e))
-                raise
+            repo.setup(self.conf.cache)
             num += 1
             
             
@@ -287,9 +267,9 @@
         for arch in archlist:
             archdict[arch] = 1
 
-        self.repos.pkgSack.compatarchs = archdict
+        self.repos.getPackageSack().setCompatArchs(archdict)
         self.repos.populateSack(which=repos)
-        self.pkgSack = self.repos.pkgSack
+        self.pkgSack = self.repos.getPackageSack()
         self.excludePackages()
         self.pkgSack.excludeArchs(archlist)
 
@@ -343,7 +323,7 @@
                 reposWithGroups.append(repo)
                 continue
                 
-            if repo.repoXML is None:
+            if not repo.ready():
                 raise Errors.RepoError, "Repository '%s' not yet setup" % repo
             try:
                 groupremote = repo.repoXML.groupLocation()
@@ -433,7 +413,7 @@
             excludelist = self.conf.exclude
             repoid = None
         else:
-            excludelist = repo.exclude
+            excludelist = repo.getExcludePkgList()
             repoid = repo.id
 
         if len(excludelist) == 0:
@@ -457,7 +437,7 @@
         """removes packages from packageSacks based on list of packages, to include.
            takes repoid as a mandatory argument."""
         
-        includelist = repo.includepkgs
+        includelist = repo.getIncludePkgList()
         
         if len(includelist) == 0:
             return
@@ -644,7 +624,6 @@
         for po in remote_pkgs:
             i += 1
             repo = self.repos.getRepo(po.repoid)
-            remote = po.returnSimple('relativepath')
             checkfunc = (self.verifyPkg, (po, 1), {})
 
 
@@ -654,10 +633,8 @@
             # os.statvfs(repo's local path)[4]*[2] >= po.size
             try:
                 text = '(%s/%s): %s' % (i, len(remote_pkgs),
-                                        os.path.basename(remote))
-                local = po.localPkg()
-                mylocal = repo.get(relative=remote,
-                                   local=local,
+                                        os.path.basename(po.returnSimple('relativepath')))
+                mylocal = repo.getPackage(po,
                                    checkfunc=checkfunc,
                                    text=text,
                                    cache=repo.http_caching != 'none',
@@ -708,10 +685,7 @@
                 
         errors = {}
         local =  po.localHdr()
-        start = po.returnSimple('hdrstart')
-        end = po.returnSimple('hdrend')
         repo = self.repos.getRepo(po.repoid)
-        remote = po.returnSimple('relativepath')
         if os.path.exists(local):
             try:
                 result = self.verifyHeader(local, po, raiseError=1)
@@ -734,8 +708,7 @@
         
         try:
             checkfunc = (self.verifyHeader, (po, 1), {})
-            hdrpath = repo.get(relative=remote, local=local, start=start,
-                    reget=None, end=end, checkfunc=checkfunc, copy_local=1,
+            hdrpath = repo.getHeader(po, checkfunc=checkfunc,
                     cache=repo.http_caching != 'none',
                     )
         except Errors.RepoError, e:

Index: config.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/config.py,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -r1.96 -r1.97
--- config.py	26 Mar 2006 04:51:21 -0000	1.96
+++ config.py	11 Apr 2006 21:37:23 -0000	1.97
@@ -26,7 +26,7 @@
 import rpmUtils.transaction
 import rpmUtils.arch
 import Errors
-from repos import Repository
+from yumRepo import YumRepository
 
 class OptionData(object):
     '''
@@ -630,13 +630,13 @@
         print >> sys.stderr, \
             'Repository %r is missing name in configuration, using id' % section
 
-    thisrepo = Repository(section)
+    thisrepo = YumRepository(section)
 
     # Transfer attributes across
     #TODO: merge RepoConf and Repository 
     for k, v in conf.iteritems():
         if v or not hasattr(thisrepo, k):
-            thisrepo.set(k, v)
+            thisrepo.setAttribute(k, v)
 
     # Set attributes not from the config file
     thisrepo.basecachedir = mainconf.cachedir

Index: sqlitesack.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/sqlitesack.py,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- sqlitesack.py	28 Feb 2006 06:53:03 -0000	1.29
+++ sqlitesack.py	11 Apr 2006 21:37:23 -0000	1.30
@@ -23,6 +23,7 @@
 import os.path
 import types
 import repos
+import yumRepo
 from packages import YumAvailablePackage
 from repomd import mdUtils, mdErrors
 
@@ -30,7 +31,7 @@
 # the database when they are requested
 class YumAvailablePackageSqlite(YumAvailablePackage):
     def __init__(self, pkgdict, repoid):
-        YumAvailablePackage.__init__(self,pkgdict,repoid)
+        YumAvailablePackage.__init__(self, repoid, pkgdict)
         self.sack = pkgdict.sack
         self.pkgId = pkgdict.pkgId
         self.simple['id'] = self.pkgId
@@ -74,7 +75,7 @@
            self.prco = self.sack.getPrco(self.pkgId, prcotype)
         return self.prco[prcotype]
 
-class YumSqlitePackageSack(repos.YumPackageSack):
+class YumSqlitePackageSack(yumRepo.YumPackageSack):
     """ Implementation of a PackageSack that uses sqlite cache instead of fully
     expanded metadata objects to provide information """
 




More information about the Yum-cvs-commits mailing list