in scripts/elf_rockylinux_dependency_analyzer.py [0:0]
def analyze_path(path, grand_summary, grand_special_cases, grand_missing_libraries):
if os.path.isfile(path):
packages, special_cases, missing_libraries = process_binary(path)
for package_name, full_package_name in packages:
grand_summary[package_name].add(full_package_name)
grand_special_cases.extend((case, path) for case in special_cases)
for lib in missing_libraries:
grand_missing_libraries[lib].add(path)
elif os.path.isdir(path):
for root, dirs, files in os.walk(path):
for file in files:
file_path = os.path.join(root, file)
if is_elf_binary(file_path):
packages, special_cases, missing_libraries = process_binary(file_path)
for package_name, full_package_name in packages:
grand_summary[package_name].add(full_package_name)
grand_special_cases.extend((case, file_path) for case in special_cases)
for lib in missing_libraries:
grand_missing_libraries[lib].add(file_path)
else:
print(f"Error: {path} is neither a valid file nor a directory.")
if grand_special_cases:
print(f"Accumulated special cases after processing {path}:")
for case, binary in grand_special_cases:
print(f" - {case} (in {binary})")
else:
print(f"No special cases accumulated after processing {path}")