#!/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)
