#!/usr/bin/python import os import sys import portage def check_all_manifests(): # ignore overlays portage.portdb.porttrees = [portage.portdb.porttree_root] settings = portage.config(clone=portage.settings) settings['PORTAGE_QUIET'] = '1' error_count = 0 for tree in portage.portdb.porttrees: for cp in portage.portdb.cp_all(): pkgdir = os.path.join(tree, cp) settings['O'] = pkgdir if not portage.digestcheck([], settings, strict=1): error_count += 1 return error_count if __name__ == "__main__": error_count = check_all_manifests() if error_count: retval = 1 else: retval = os.EX_OK sys.exit(retval)