ref: install add recursive exists
This commit is contained in:
13
brew.py
13
brew.py
@@ -1542,14 +1542,15 @@ class InstallQueue:
|
|||||||
def addRecursive(self, pkg: str) -> None:
|
def addRecursive(self, pkg: str) -> None:
|
||||||
''' Recursive online search for dependencies '''
|
''' Recursive online search for dependencies '''
|
||||||
queue = [pkg]
|
queue = [pkg]
|
||||||
done = set(pkg)
|
done = set(self._missingDigest).union(
|
||||||
|
x.package for x in self.downloadQueue)
|
||||||
while queue:
|
while queue:
|
||||||
pkg = queue.pop(0)
|
pkg = queue.pop(0)
|
||||||
bundle = Brew.info(pkg)
|
if pkg not in done:
|
||||||
self.add(pkg, bundle.version, bundle.digest)
|
done.add(pkg)
|
||||||
subdeps = bundle.dependencies or []
|
bundle = Brew.info(pkg)
|
||||||
queue.extend(x for x in subdeps if x not in done)
|
queue.extend(bundle.dependencies or [])
|
||||||
done.update(subdeps)
|
self.add(pkg, bundle.version, bundle.digest)
|
||||||
|
|
||||||
def add(self, pkg: str, version: str, digest: 'str|None') -> None:
|
def add(self, pkg: str, version: str, digest: 'str|None') -> None:
|
||||||
''' Check if specific version exists and add to download queue '''
|
''' Check if specific version exists and add to download queue '''
|
||||||
|
|||||||
Reference in New Issue
Block a user