Blame SOURCES/BZ-1004853-yum-cron-handle-empty-transaction.patch

d2a170
commit ae22bcdbacc01b12175304e14df59bdda45aa108
d2a170
Author: Andreas Fleig <andreasfleig@googlemail.com>
d2a170
Date:   Wed Mar 16 12:35:38 2016 +0100
d2a170
d2a170
    yum-cron: don't fail on empty transaction. BZ 1004853
d2a170
    
d2a170
    Even if refreshUpdates() returns True, the transaction may still be
d2a170
    empty if some updateinfo filters were applied there and thus a later
d2a170
    call to buildTransaction() would return 0 (success).  This wasn't
d2a170
    handled by findDeps() properly, making it emit an error message in such
d2a170
    a case.
d2a170
    
d2a170
    Note that, in the first place, we shouldn't return True from
d2a170
    refreshUpdates() if the transaction becomes empty after applying the
d2a170
    filters.  However, we should handle this particular buildTransaction()
d2a170
    outcome in findDeps() regardless and that's sufficient to fix this bug.
d2a170
    
d2a170
    See also:
d2a170
    http://lists.baseurl.org/pipermail/yum/2014-December/024141.html
d2a170
d2a170
diff --git a/yum-cron/yum-cron.py b/yum-cron/yum-cron.py
d2a170
index ccba690..5c3c1f9 100755
d2a170
--- a/yum-cron/yum-cron.py
d2a170
+++ b/yum-cron/yum-cron.py
d2a170
@@ -513,7 +513,13 @@ class YumCronBase(yum.YumBase, YumOutput):
d2a170
         except yum.Errors.RepoError, e:
d2a170
             self.emitCheckFailed("%s" %(e,))
d2a170
             sys.exit()
d2a170
-        if res != 2:
d2a170
+        if res == 0:
d2a170
+            # success, empty transaction
d2a170
+            sys.exit(0)
d2a170
+        elif res == 2:
d2a170
+            # success, dependencies resolved
d2a170
+            pass
d2a170
+        else:
d2a170
             self.emitCheckFailed("Failed to build transaction: %s" %(str.join("\n", resmsg),))
d2a170
             sys.exit(1)
d2a170
 
d2a170
commit 485121311f4ff40b939965587db735b05aec6fe0
d2a170
Author: Felix Kaiser <felix.kaiser@fxkr.net>
d2a170
Date:   Wed Mar 16 13:16:13 2016 +0100
d2a170
d2a170
    yum-cron: fix exit code in findDeps()
d2a170
d2a170
diff --git a/yum-cron/yum-cron.py b/yum-cron/yum-cron.py
d2a170
index 5c3c1f9..12c7720 100755
d2a170
--- a/yum-cron/yum-cron.py
d2a170
+++ b/yum-cron/yum-cron.py
d2a170
@@ -512,7 +512,7 @@ class YumCronBase(yum.YumBase, YumOutput):
d2a170
             (res, resmsg) = self.buildTransaction()
d2a170
         except yum.Errors.RepoError, e:
d2a170
             self.emitCheckFailed("%s" %(e,))
d2a170
-            sys.exit()
d2a170
+            sys.exit(1)
d2a170
         if res == 0:
d2a170
             # success, empty transaction
d2a170
             sys.exit(0)