From 23cfa120ef33700bd020ee721333f43e9ddc3251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= Date: Tue, 23 Mar 2021 22:21:24 +0000 Subject: [PATCH] use new tie breaker. --- ognibuild/debian/build_deps.py | 9 +++++++-- ognibuild/debian/fix_build.py | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ognibuild/debian/build_deps.py b/ognibuild/debian/build_deps.py index a8ef301..a39ef50 100644 --- a/ognibuild/debian/build_deps.py +++ b/ognibuild/debian/build_deps.py @@ -50,8 +50,13 @@ class BuildDependencyTieBreaker(object): self._counts = self._count() by_count = {} for req in reqs: - by_count[req] = self._counts.get(list(req.package_names())[0]) - return max(by_count.items(), key=lambda k: k[1] or 0)[0] + try: + by_count[req] = self._counts[list(req.package_names())[0]] + except KeyError: + pass + if not by_count: + return None + return max(by_count.items(), key=lambda k: k[1])[0] if __name__ == '__main__': diff --git a/ognibuild/debian/fix_build.py b/ognibuild/debian/fix_build.py index c0507c6..4530c25 100644 --- a/ognibuild/debian/fix_build.py +++ b/ognibuild/debian/fix_build.py @@ -444,8 +444,10 @@ def versioned_package_fixers(session, packaging_context): def apt_fixers(apt, packaging_context) -> List[BuildFixer]: from ..resolver.apt import AptResolver from .udd import udd_tie_breaker + from .build_deps import BuildDependencyTieBreaker apt_tie_breakers = [ partial(python_tie_breaker, packaging_context.tree, packaging_context.subpath), + BuildDependencyTieBreaker.from_session(apt.sesion), udd_tie_breaker, ] resolver = AptResolver(apt, apt_tie_breakers)