Blob Blame History Raw
commit ae22bcdbacc01b12175304e14df59bdda45aa108
Author: Andreas Fleig <andreasfleig@googlemail.com>
Date:   Wed Mar 16 12:35:38 2016 +0100

    yum-cron: don't fail on empty transaction. BZ 1004853
    
    Even if refreshUpdates() returns True, the transaction may still be
    empty if some updateinfo filters were applied there and thus a later
    call to buildTransaction() would return 0 (success).  This wasn't
    handled by findDeps() properly, making it emit an error message in such
    a case.
    
    Note that, in the first place, we shouldn't return True from
    refreshUpdates() if the transaction becomes empty after applying the
    filters.  However, we should handle this particular buildTransaction()
    outcome in findDeps() regardless and that's sufficient to fix this bug.
    
    See also:
    http://lists.baseurl.org/pipermail/yum/2014-December/024141.html

diff --git a/yum-cron/yum-cron.py b/yum-cron/yum-cron.py
index ccba690..5c3c1f9 100755
--- a/yum-cron/yum-cron.py
+++ b/yum-cron/yum-cron.py
@@ -513,7 +513,13 @@ class YumCronBase(yum.YumBase, YumOutput):
         except yum.Errors.RepoError, e:
             self.emitCheckFailed("%s" %(e,))
             sys.exit()
-        if res != 2:
+        if res == 0:
+            # success, empty transaction
+            sys.exit(0)
+        elif res == 2:
+            # success, dependencies resolved
+            pass
+        else:
             self.emitCheckFailed("Failed to build transaction: %s" %(str.join("\n", resmsg),))
             sys.exit(1)
 
commit 485121311f4ff40b939965587db735b05aec6fe0
Author: Felix Kaiser <felix.kaiser@fxkr.net>
Date:   Wed Mar 16 13:16:13 2016 +0100

    yum-cron: fix exit code in findDeps()

diff --git a/yum-cron/yum-cron.py b/yum-cron/yum-cron.py
index 5c3c1f9..12c7720 100755
--- a/yum-cron/yum-cron.py
+++ b/yum-cron/yum-cron.py
@@ -512,7 +512,7 @@ class YumCronBase(yum.YumBase, YumOutput):
             (res, resmsg) = self.buildTransaction()
         except yum.Errors.RepoError, e:
             self.emitCheckFailed("%s" %(e,))
-            sys.exit()
+            sys.exit(1)
         if res == 0:
             # success, empty transaction
             sys.exit(0)