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

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

def usage(status):
	print "Usage: env-update [--no-ldconfig]"
	print ""
	print "See the env-update(1) man page for more info"
	sys.exit(status)

if "-h" in sys.argv or "--help" in sys.argv:
	usage(0)

makelinks=1
if "--no-ldconfig" in sys.argv:
	makelinks=0
	sys.argv.pop(sys.argv.index("--no-ldconfig"))

if len(sys.argv) > 1:
	print "!!! Invalid command line options!\n"
	usage(1)

import portage
portage.env_update(makelinks)
