in scripts/elf_rockylinux_dependency_analyzer.py [0:0]
def print_summary(packages, special_cases, missing_libraries, binary_path):
print("\nSummary of unique runtime packages required:")
table = PrettyTable(['Package Name', 'Full Package Name'])
table.align['Package Name'] = 'l'
table.align['Full Package Name'] = 'l'
unique_packages = sorted(set(packages))
for package_name, full_package_name in unique_packages:
table.add_row([package_name, full_package_name])
print(table)
if missing_libraries:
print("\nMISSING LIBRARIES:")
missing_table = PrettyTable(['Missing Library', 'Referenced By'])
missing_table.align['Missing Library'] = 'l'
missing_table.align['Referenced By'] = 'l'
for lib in missing_libraries:
missing_table.add_row([lib, binary_path])
print(missing_table)
if special_cases:
print("\nSPECIAL CASES:")
special_table = PrettyTable(['Library/Case', 'Referenced By', 'Category'])
special_table.align['Library/Case'] = 'l'
special_table.align['Referenced By'] = 'l'
special_table.align['Category'] = 'l'
for case in special_cases:
category = "Custom/Non-RPM" if "custom or non-RPM library" in case else "Other"
library = case.split(" is ")[0] if " is " in case else case
special_table.add_row([library, binary_path, category])
print(special_table)
else:
print("\nSPECIAL CASES: None found")