def main()

in scripts/elf_rockylinux_dependency_analyzer.py [0:0]


def main():
    check_requirements()
    parser = argparse.ArgumentParser(description="ELF Dependency Analyzer")
    parser.add_argument('paths', nargs='+', help="Paths to files or directories to analyze")
    parser.add_argument('--rebuild-cache', action='store_true', help="Force rebuild of the high-level packages cache")
    args = parser.parse_args()
    grand_summary = defaultdict(set)
    grand_special_cases = []
    grand_missing_libraries = defaultdict(set)
    for path in args.paths:
        analyze_path(path, grand_summary, grand_special_cases, grand_missing_libraries)
    HIGH_LEVEL_PACKAGES = load_or_build_high_level_packages(grand_summary, args.rebuild_cache)
    PACKAGE_TO_HIGH_LEVEL = {low: high for high, lows in HIGH_LEVEL_PACKAGES.items() for low in lows}
    print_grand_summary(grand_summary, grand_special_cases, grand_missing_libraries, HIGH_LEVEL_PACKAGES, PACKAGE_TO_HIGH_LEVEL)