INNER CODE UNIT · Python
collect
mumu-lhl/Ciyue · tools/bundle_linux_dependencies.py:130
def collect(bundle_dir: Path, search_roots: list[Path]) -> None:
library_dir = bundle_dir / "lib"
index = library_index(search_roots)
provided = provided_libraries(library_dir)
queue = deque(iter_elf_files(bundle_dir))
inspected: set[Path] = set()
while queue:
binary = queue.popleft().resolve()
if binary in inspected:
continue
inspected.add(binary)
metadata = elf_metadata(binary)
if metadata is None:
continue
for needed in metadata.needed:
if needed in SYSTEM_LIBRARIES: