[aur] new AUR dependencies checking algorithm

This commit is contained in:
Vinícius Moreira
2020-02-11 14:05:16 -03:00
parent 633b60f5f4
commit 0e4ebbe277
18 changed files with 149 additions and 54 deletions

View File

@@ -106,3 +106,25 @@ class DependenciesAnalyser:
if not subdep[0]:
return missing
return missing
def get_missing_subdeps(self, name: str, mirror: str, srcinfo: dict = None) -> List[Tuple[str, str]]:
missing = []
already_added = {name}
in_analyses = {name}
if mirror == 'aur':
subdeps = self.aur_client.get_required_dependencies(name) if not srcinfo else self.aur_client.extract_required_dependencies(srcinfo)
else:
subdeps = pacman.read_dependencies(name)
if subdeps:
missing_subdeps = self.get_missing_packages(subdeps, in_analysis=in_analyses)
if missing_subdeps:
for subdep in missing_subdeps: # checking if there is any unknown:
if subdep[0] not in already_added:
missing.append(subdep)
if not subdep[0]:
return missing
return missing