use new tie breaker.

This commit is contained in:
Jelmer Vernooij 2021-03-23 22:21:24 +00:00
parent 177411725d
commit 23cfa120ef
No known key found for this signature in database
GPG key ID: 579C160D4C9E23E8
2 changed files with 9 additions and 2 deletions

View file

@ -50,8 +50,13 @@ class BuildDependencyTieBreaker(object):
self._counts = self._count() self._counts = self._count()
by_count = {} by_count = {}
for req in reqs: for req in reqs:
by_count[req] = self._counts.get(list(req.package_names())[0]) try:
return max(by_count.items(), key=lambda k: k[1] or 0)[0] 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__': if __name__ == '__main__':

View file

@ -444,8 +444,10 @@ def versioned_package_fixers(session, packaging_context):
def apt_fixers(apt, packaging_context) -> List[BuildFixer]: def apt_fixers(apt, packaging_context) -> List[BuildFixer]:
from ..resolver.apt import AptResolver from ..resolver.apt import AptResolver
from .udd import udd_tie_breaker from .udd import udd_tie_breaker
from .build_deps import BuildDependencyTieBreaker
apt_tie_breakers = [ apt_tie_breakers = [
partial(python_tie_breaker, packaging_context.tree, packaging_context.subpath), partial(python_tie_breaker, packaging_context.tree, packaging_context.subpath),
BuildDependencyTieBreaker.from_session(apt.sesion),
udd_tie_breaker, udd_tie_breaker,
] ]
resolver = AptResolver(apt, apt_tie_breakers) resolver = AptResolver(apt, apt_tie_breakers)