INNER CODE UNIT · Python
parse_ldd
CyrilPeng/Venera-Next · .github/scripts/appimage_runtime.py:40
def parse_ldd(text):
if "=> not found" in text:
raise RuntimeError(f"Unresolved AppImage dependency:\n{text}")
return [Path(match.group(1)) for match in re.finditer(
r"(?:=>\s+|^\s*)(/[^\n]+?)\s+\(0x", text, re.M
)]
def dependencies(path, library_path):
result = subprocess.run(
["ldd", str(path)], text=True, capture_output=True,
env={**os.environ, "LC_ALL": "C", "LD_LIBRARY_PATH": library_path},
)
if result.returncode:
raise RuntimeError(f"Cannot inspect {path}: {result.stdout}{result.stderr}")
return parse_ldd(result.stdout)