From e062075cb78955139d7b662a1fa498f13fb0bfe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jelmer=20Vernoo=C4=B3?= Date: Thu, 25 Mar 2021 14:34:29 +0000 Subject: [PATCH] Fix handling of vague requirements. --- ognibuild/requirements.py | 6 ++++++ ognibuild/resolver/apt.py | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ognibuild/requirements.py b/ognibuild/requirements.py index 055c3c8..313bdfd 100644 --- a/ognibuild/requirements.py +++ b/ognibuild/requirements.py @@ -127,6 +127,12 @@ class VagueDependencyRequirement(Requirement): super(VagueDependencyRequirement, self).__init__("vague") self.name = name + def met(self, session): + for cls in [BinaryRequirement, LibraryRequirement]: + if cls(self.name).met(session): + return True + return False + def __repr__(self): return "%s(%r)" % (type(self).__name__, self.name) diff --git a/ognibuild/resolver/apt.py b/ognibuild/resolver/apt.py index aee5b6e..7667347 100644 --- a/ognibuild/resolver/apt.py +++ b/ognibuild/resolver/apt.py @@ -235,7 +235,7 @@ def resolve_vague_dep_req(apt_mgr, req): name = name[4:] options = [] options.extend(resolve_binary_req(apt_mgr, [BinaryRequirement(name)])) - options.extend(resolve_binary_req(apt_mgr, [LibraryRequirement(name)])) + options.extend(resolve_library_req(apt_mgr, [LibraryRequirement(name)])) return options @@ -537,6 +537,7 @@ def resolve_ca_req(apt_mgr, req): APT_REQUIREMENT_RESOLVERS = [ (BinaryRequirement, resolve_binary_req), + (VagueDependencyRequirement, resolve_vague_dep_req), (PkgConfigRequirement, resolve_pkg_config_req), (PathRequirement, resolve_path_req), (CHeaderRequirement, resolve_c_header_req),