Block packages with unsatisfiable depends and don't run tests for them

In excuse_unsat_deps(), mark unsatisfiable dependencies not just in the HTML,
but also in the invalid_deps list. If we have any of those in
should_upgrade_src(), block the package and don't run the autopkgtest. This
avoid running tests for known-uninstallable packages, which just leads to
guaranteed failures, manual intervention of re-running tests after it becomes
installable, and spamming maintainers with a FAIL/PASS notification.
This commit is contained in:
Martin Pitt 2014-02-27 18:40:50 +01:00
parent 33c441c500
commit 3d95702a59

View File

@ -1087,6 +1087,7 @@ class Britney(object):
# if no package can satisfy the dependency, add this information to the excuse
if len(packages) == 0:
excuse.invalidate_dep(block_txt.strip())
excuse.addhtml("%s/%s unsatisfiable Depends: %s" % (pkg, arch, block_txt.strip()))
continue
@ -1507,6 +1508,11 @@ class Britney(object):
excuse.addhtml(text)
# if the source has uninstallable dependencies, block the update
if excuse.invalid_deps:
update_candidate = False
run_autopkgtest = False
# if the source package has no binaries, set update_candidate to False to block the update
if len(self.sources[suite][src][BINARIES]) == 0:
excuse.addhtml("%s has no binaries on any arch" % src)