[yum-commits] 2 commits - yum/__init__.py yum/misc.py

zpavlas at osuosl.org zpavlas at osuosl.org
Tue Jul 30 08:27:49 UTC 2013


 yum/__init__.py |   10 ++++++++--
 yum/misc.py     |    2 +-
 2 files changed, 9 insertions(+), 3 deletions(-)

New commits:
commit c18f076bddcfebd12c6e722366572a328c6cb27a
Author: Zdenek Pavlas <zpavlas at redhat.com>
Date:   Tue Jul 30 10:23:57 2013 +0200

    misc.decompress(): handle OSError, too. BZ 989948
    
    Damn you, Python!  EACCES is IOError when raised
    by open(), but OSError when raised by unlink().

diff --git a/yum/misc.py b/yum/misc.py
index aae13c2..3800811 100644
--- a/yum/misc.py
+++ b/yum/misc.py
@@ -1160,7 +1160,7 @@ def repo_gen_decompress(filename, generated_name, cached=False):
     dest = os.path.dirname(filename) + '/gen/' + generated_name
     try:
         return decompress(filename, dest=dest, check_timestamps=True)
-    except IOError, e:
+    except (OSError, IOError), e:
         if cached and e.errno == errno.EACCES:
             return None
         raise
commit a232d3a33970b30e5aefbbbfc6ab442f50c34b87
Author: Zdenek Pavlas <zpavlas at redhat.com>
Date:   Thu Jul 25 13:34:21 2013 +0200

    group install/update: handle "No Groups Available" exception. BZ 983010
    
    When group_command=objects and there is at least one group installed,
    Yum acesses the comps property.  This might fail.  Log a warning but
    don't abort.

diff --git a/yum/__init__.py b/yum/__init__.py
index a48ec70..ef56957 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -4429,10 +4429,16 @@ much more problems).
         group_string = pattern[1:]
         tx_return = []
 
+        try: comps = self.comps
+        except yum.Errors.GroupsError, e:
+            # No Groups Available in any repository?
+            self.logger.warning(e)
+            return tx_return
+
         if group_string and group_string[0] == '^':
             group_string = group_string[1:]
             # Actually dealing with "environment groups".
-            for env_grp in self.comps.return_environments(group_string):
+            for env_grp in comps.return_environments(group_string):
                 try:
                     txmbrs = self.selectEnvironment(env_grp.environmentid,
                                                     upgrade=upgrade)
@@ -4442,7 +4448,7 @@ much more problems).
                     continue
             return tx_return
 
-        for group in self.comps.return_groups(group_string):
+        for group in comps.return_groups(group_string):
             try:
                 txmbrs = self.selectGroup(group.groupid, upgrade=upgrade)
                 tx_return.extend(txmbrs)


More information about the Yum-commits mailing list