#!/usr/bin/python
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: /var/cvsroot/gentoo-src/portage/bin/fixpackages,v 1.6 2004/10/04 13:56:50 vapier Exp $

import os,sys
os.environ["PORTAGE_CALLER"]="fixpackages"
sys.path = ["/usr/lib/portage/pym"]+sys.path

import portage

mysettings = portage.settings
mytrees = portage.db
mtimedb = portage.mtimedb

portage.global_updates(mysettings, mytrees, mtimedb["updates"])

print
print "Done."
print
