summaryrefslogtreecommitdiffstats
path: root/pym/portage/package/ebuild/prepare_build_dirs.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/package/ebuild/prepare_build_dirs.py')
-rw-r--r--pym/portage/package/ebuild/prepare_build_dirs.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/pym/portage/package/ebuild/prepare_build_dirs.py b/pym/portage/package/ebuild/prepare_build_dirs.py
index dc29eeeb8..15e087121 100644
--- a/pym/portage/package/ebuild/prepare_build_dirs.py
+++ b/pym/portage/package/ebuild/prepare_build_dirs.py
@@ -85,6 +85,25 @@ def prepare_build_dirs(myroot, mysettings, cleanup):
writemsg(_("File Not Found: '%s'\n") % str(e), noiselevel=-1)
return 1
+ for x in ('.ipc_in', '.ipc_out'):
+ p = os.path.join(mysettings['PORTAGE_BUILDDIR'], x)
+ st = None
+ try:
+ st = os.lstat(p)
+ except OSError:
+ os.mkfifo(p)
+ else:
+ if not stat.S_ISFIFO(st.st_mode):
+ st = None
+ try:
+ os.unlink(p)
+ except OSError:
+ pass
+ os.mkfifo(p)
+ apply_secpass_permissions(p,
+ uid=portage_uid, gid=portage_gid,
+ mode=0o770, mask=0o2, stat_cached=st)
+
# Reset state for things like noauto and keepwork in FEATURES.
for x in ('.die_hooks',):
try: