From ab8ecbd8bd9f4e6b92c952c487acee495df32434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= Date: Fri, 26 Mar 2021 01:53:08 +0000 Subject: [PATCH] Fixes. --- ognibuild/fix_build.py | 7 ++++--- ognibuild/resolver/__init__.py | 2 ++ ognibuild/resolver/apt.py | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ognibuild/fix_build.py b/ognibuild/fix_build.py index ca3f375..c7b363e 100644 --- a/ognibuild/fix_build.py +++ b/ognibuild/fix_build.py @@ -89,9 +89,7 @@ def iterate_with_build_fixers(fixers: List[BuildFixer], cb: Callable[[], Any]): ) raise f try: - if not resolve_error(f.error, None, fixers=fixers): - logging.warning("Failed to find resolution for error %r. Giving up.", f.error) - raise f + resolved = resolve_error(f.error, None, fixers=fixers) except DetailedFailure as n: logging.info('New error %r while resolving %r', n, f) if n in to_resolve: @@ -99,6 +97,9 @@ def iterate_with_build_fixers(fixers: List[BuildFixer], cb: Callable[[], Any]): to_resolve.append(f) to_resolve.append(n) else: + if not resolved: + logging.warning("Failed to find resolution for error %r. Giving up.", f.error) + raise f fixed_errors.append(f.error) diff --git a/ognibuild/resolver/__init__.py b/ognibuild/resolver/__init__.py index 40b66d2..73b3c89 100644 --- a/ognibuild/resolver/__init__.py +++ b/ognibuild/resolver/__init__.py @@ -436,6 +436,8 @@ class StackedResolver(Resolver): requirements = e.requirements else: return + if requirements: + raise UnsatisfiedRequirements(requirements) NATIVE_RESOLVER_CLS = [ diff --git a/ognibuild/resolver/apt.py b/ognibuild/resolver/apt.py index 85275fd..cfd67a3 100644 --- a/ognibuild/resolver/apt.py +++ b/ognibuild/resolver/apt.py @@ -73,6 +73,8 @@ from ..requirements import ( class AptRequirement(Requirement): def __init__(self, relations): super(AptRequirement, self).__init__("apt") + if not isinstance(relations, list): + raise TypeError(relations) self.relations = relations @classmethod