Add AptRequirement.satisfied_by.
This commit is contained in:
parent
f08ebc950b
commit
3f27ddb97c
1 changed files with 20 additions and 0 deletions
|
@ -117,6 +117,26 @@ class AptRequirement(Requirement):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def satisfied_by(self, binaries, version):
|
||||||
|
def binary_pkg_matches(entry, binary):
|
||||||
|
# TODO(jelmer): check versions
|
||||||
|
if entry['name'] == binary['Package']:
|
||||||
|
return True
|
||||||
|
for provides_top in PkgRelation.parse_relations(
|
||||||
|
binary.get('Provides', '')):
|
||||||
|
for provides in provides_top:
|
||||||
|
if entry['name'] == provides['name']:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
for rel in self.relations:
|
||||||
|
for entry in rel:
|
||||||
|
if any(binary_pkg_matches(entry, binary) for binary in binaries):
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def resolve_perl_predeclared_req(apt_mgr, req):
|
def resolve_perl_predeclared_req(apt_mgr, req):
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Add table
Reference in a new issue