[yum-commits] 2 commits - yum/yumRepo.py

zpavlas at osuosl.org zpavlas at osuosl.org
Wed Jul 11 13:04:59 UTC 2012


 yum/yumRepo.py |   30 +++++++++---------------------
 1 file changed, 9 insertions(+), 21 deletions(-)

New commits:
commit 14c2ddfe241ecca745222fb445400e51d6827c8f
Author: Zdeněk Pavlas <zpavlas at redhat.com>
Date:   Wed Jul 11 13:41:50 2012 +0200

    yumRepo.getGroups(): decompress, handle errors. BZ 829505
    
    repo_gen_decompress() here, use gen/ directory.
    Handle IOErrors as if the download has failed.

diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index 9d9e960..2fa7e64 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -1712,9 +1712,16 @@ Insufficient space in download directory %s
 
     def getGroups(self):
         """gets groups and returns group file path for the repository, if there
-           is none it returns None"""
+           is none or retrieve/decompress fails, it returns None"""
         if 'group_gz' in self.repoXML.fileTypes():
-            return self._retrieveMD('group_gz', retrieve_can_fail=True)
+            fn = self._retrieveMD('group_gz', retrieve_can_fail=True)
+            if fn:
+                try:
+                    fn = misc.repo_gen_decompress(fn, 'comps.xml')
+                except IOError, e:
+                    logger.warning(e)
+                    fn = None
+            return fn
         return self._retrieveMD('group', retrieve_can_fail=True)
 
     def setCallback(self, callback):
commit 0895adac1161ba962479111ee953a2cb194833fe
Author: Zdeněk Pavlas <zpavlas at redhat.com>
Date:   Tue Jun 26 14:20:44 2012 +0200

    YumPackageSack.populate(): remove unreachable code
    
    This was obsoleted by repo_gen_decompress() patches.

diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index 128795b..9d9e960 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -160,8 +160,6 @@ class YumPackageSack(packageSack.PackageSack):
                 if item in self.added[repo]:
                     continue
 
-            db_fn = None
-
             if item == 'metadata':
                 mydbtype = 'primary_db'
                 mymdtype = 'primary'
@@ -202,23 +200,6 @@ class YumPackageSack(packageSack.PackageSack):
 
                 dobj = repo.cacheHandler.open_database(db_un_fn)
 
-            elif self._check_db_version(repo, mydbtype):
-                # see if we have the uncompressed db and check it's checksum vs the openchecksum
-                # if not download the compressed file
-                # decompress it
-                # unlink it
-
-                db_un_fn = self._check_uncompressed_db(repo, mydbtype)
-                if not db_un_fn:
-                    db_fn = repo._retrieveMD(mydbtype)
-                    if db_fn:
-                        if not repo.cache:
-                            db_un_fn = misc.decompress(db_fn)
-                            misc.unlink_f(db_fn)
-                            db_un_fn = self._check_uncompressed_db(repo, mydbtype)
-
-                dobj = repo.cacheHandler.open_database(db_un_fn)
-
             else:
                 repo._xml2sqlite_local = True
                 # Download...


More information about the Yum-commits mailing list