aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'bin/ebuild')
-rwxr-xr-xbin/ebuild61
1 files changed, 61 insertions, 0 deletions
diff --git a/bin/ebuild b/bin/ebuild
new file mode 100755
index 000000000..2c4ed713d
--- /dev/null
+++ b/bin/ebuild
@@ -0,0 +1,61 @@
+#!/usr/bin/python -O
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-src/portage/bin/ebuild,v 1.18.2.3 2005/05/07 04:32:59 ferringb Exp $
+
+import os,sys
+sys.path = ["/usr/lib/portage/pym"]+sys.path
+import portage_util
+
+def getroot():
+ try:
+ a=os.environ["ROOT"]
+ if a == '/':
+ return '/'
+ except SystemExit, e:
+ raise # Needed else we can't exit.
+ except:
+ return '/'
+ return os.path.normpath(a)+'/'
+
+os.environ["PORTAGE_CALLER"]="ebuild"
+
+if len(sys.argv)<=2:
+ print "expecting two arguments."
+ sys.exit(1)
+
+import getopt
+
+debug=0
+
+opts,pargs=getopt.getopt(sys.argv[1:],'',['debug'])
+for opt in opts:
+ if opt[0]=='--debug':
+ debug=1
+
+if "merge" in pargs:
+ print "Disabling noauto in features... merge disables it. (qmerge doesn't)"
+ os.environ["FEATURES"] = os.environ.get("FEATURES", "") + " -noauto"
+
+import portage
+
+for x in pargs[1:]:
+ try:
+ tmpsettings = portage.config(clone=portage.settings)
+
+ if x in ['clean','config']:
+ cleanup=1
+ else:
+ cleanup=0
+ a=portage.doebuild(pargs[0],x,getroot(),tmpsettings,debug=debug,cleanup=cleanup)
+ except KeyboardInterrupt:
+ print "(interrupted by user -- ctrl-C?)"
+ a=1
+ except IOError:
+ a=1
+ print "ebuild: this ebuild generated output during the depend phase (bad)"
+ if a == None:
+ portage_util.writemsg("Could not run the required binary?\n")
+ sys.exit(127)
+ if a:
+ sys.exit(a)