Fix vague requirement handling/
This commit is contained in:
parent
3ce2df8f6e
commit
609b8b2196
2 changed files with 15 additions and 4 deletions
|
@ -127,9 +127,15 @@ class VagueDependencyRequirement(Requirement):
|
|||
super(VagueDependencyRequirement, self).__init__("vague")
|
||||
self.name = name
|
||||
|
||||
def expand(self):
|
||||
yield BinaryRequirement(self.name)
|
||||
yield LibraryRequirement(self.name)
|
||||
from resolver.apt import AptRequirement
|
||||
yield AptRequirement(self.name)
|
||||
|
||||
def met(self, session):
|
||||
for cls in [BinaryRequirement, LibraryRequirement]:
|
||||
if cls(self.name).met(session):
|
||||
for x in self.expand():
|
||||
if x.met(session):
|
||||
return True
|
||||
return False
|
||||
|
||||
|
|
|
@ -234,8 +234,8 @@ def resolve_vague_dep_req(apt_mgr, req):
|
|||
if name.startswith('gnu '):
|
||||
name = name[4:]
|
||||
options = []
|
||||
options.extend(resolve_binary_req(apt_mgr, [BinaryRequirement(name)]))
|
||||
options.extend(resolve_library_req(apt_mgr, [LibraryRequirement(name)]))
|
||||
for x in req.expand():
|
||||
options.extend(resolve_requirement_apt(apt_mgr, x))
|
||||
return options
|
||||
|
||||
|
||||
|
@ -535,7 +535,12 @@ def resolve_ca_req(apt_mgr, req):
|
|||
return [AptRequirement.simple('ca-certificates')]
|
||||
|
||||
|
||||
def resolve_apt_req(apt_mgr, req):
|
||||
return [req]
|
||||
|
||||
|
||||
APT_REQUIREMENT_RESOLVERS = [
|
||||
(AptRequirement, resolve_apt_req),
|
||||
(BinaryRequirement, resolve_binary_req),
|
||||
(VagueDependencyRequirement, resolve_vague_dep_req),
|
||||
(PkgConfigRequirement, resolve_pkg_config_req),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue