aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-12 10:01:02 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-12 10:01:02 -0700
commit1d42bc5eadc68c5b9ab2d50334c9e54cae0c4d84 (patch)
treee9d392cb18e4ad366da144048f8b1ccadd2ca44f /bin/ebuild-ipc
parentTests: ResolverPlayground: more debug stuff (diff)
downloadportage-1d42bc5eadc68c5b9ab2d50334c9e54cae0c4d84.tar.gz
portage-1d42bc5eadc68c5b9ab2d50334c9e54cae0c4d84.tar.bz2
portage-1d42bc5eadc68c5b9ab2d50334c9e54cae0c4d84.zip
Add some pieces of an IPC framework that will eventually allow ebuild
processes can to communicate with portage's main python process. Here are a few possible uses: 1) Robust subshell/subprocess die support. This allows the ebuild environment to reliably die without having to rely on signal IPC. 2) Delegation of portageq calls to the main python process, eliminating performance and userpriv permission issues. 3) Reliable ebuild termination in cases when the ebuild has accidentally left orphan processes running in the backgraound (as in bug 278895).
Diffstat (limited to 'bin/ebuild-ipc')
-rwxr-xr-xbin/ebuild-ipc10
1 files changed, 10 insertions, 0 deletions
diff --git a/bin/ebuild-ipc b/bin/ebuild-ipc
new file mode 100755
index 000000000..b30b89aea
--- /dev/null
+++ b/bin/ebuild-ipc
@@ -0,0 +1,10 @@
+#!/bin/bash
+# Copyright 2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PORTAGE_BIN_PATH=${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}
+PORTAGE_PYM_PATH=${PORTAGE_PYM_PATH:-/usr/lib/portage/pym}
+# Set EPYTHON variable as empty so that dohtml doesn't try
+# to use potentially unsupported version of Python.
+EPYTHON= PYTHONPATH=$PORTAGE_PYM_PATH${PYTHONPATH:+:}$PYTHONPATH \
+ exec "$PORTAGE_BIN_PATH/ebuild-ipc.py" "$@"