commit ae22bcdbacc01b12175304e14df59bdda45aa108 Author: Andreas Fleig 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 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)