#!/usr/bin/env python

import os
import portage
portdb = portage.portdb
portdb.porttrees = [portdb.porttree_root] # exclude overlays

for cp in portdb.cp_all():
	slots = set()
	for cpv in portdb.cp_list(cp):
		slots.add(portdb.aux_get(cpv, ["SLOT"])[0])
	slots = sorted(slots)
	for slot in slots:
		slot_atom = "%s:%s" % (cp, slot)
		best_visible = portdb.xmatch("bestmatch-visible", slot_atom)
		if best_visible:
			print best_visible
