def print_summary()

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")