1 |
In order to avoid a SANDBOX_LOG collision with another process |
2 |
having the same pid when pid-sandbox is enabled, export a |
3 |
unique SANDBOX_LOG value. The ${T} directory is a convenient |
4 |
location, since it is guaranteed to exist and be writable during |
5 |
relevant ebuild phases. |
6 |
|
7 |
Bug: https://bugs.gentoo.org/704848 |
8 |
Signed-off-by: Zac Medico <zmedico@g.o> |
9 |
--- |
10 |
lib/portage/package/ebuild/_config/special_env_vars.py | 4 ++-- |
11 |
lib/portage/package/ebuild/doebuild.py | 2 +- |
12 |
2 files changed, 3 insertions(+), 3 deletions(-) |
13 |
|
14 |
diff --git a/lib/portage/package/ebuild/_config/special_env_vars.py b/lib/portage/package/ebuild/_config/special_env_vars.py |
15 |
index 5e7ca6d47..dc01339f7 100644 |
16 |
--- a/lib/portage/package/ebuild/_config/special_env_vars.py |
17 |
+++ b/lib/portage/package/ebuild/_config/special_env_vars.py |
18 |
@@ -28,7 +28,7 @@ env_blacklist = frozenset(( |
19 |
"PORTAGE_INTERNAL_CALLER", "PORTAGE_IUSE", |
20 |
"PORTAGE_NONFATAL", "PORTAGE_PIPE_FD", "PORTAGE_REPO_NAME", |
21 |
"PORTAGE_USE", "PROPERTIES", "RDEPEND", "REPOSITORY", |
22 |
- "REQUIRED_USE", "RESTRICT", "ROOT", "SLOT", "SRC_URI", "_" |
23 |
+ "REQUIRED_USE", "RESTRICT", "ROOT", "SANDBOX_LOG", "SLOT", "SRC_URI", "_" |
24 |
)) |
25 |
|
26 |
environ_whitelist = [] |
27 |
@@ -78,7 +78,7 @@ environ_whitelist += [ |
28 |
"PORTAGE_VERBOSE", "PORTAGE_WORKDIR_MODE", "PORTAGE_XATTR_EXCLUDE", |
29 |
"PORTDIR", "PORTDIR_OVERLAY", "PREROOTPATH", "PYTHONDONTWRITEBYTECODE", |
30 |
"REPLACING_VERSIONS", "REPLACED_BY_VERSION", |
31 |
- "ROOT", "ROOTPATH", "SYSROOT", "T", "TMP", "TMPDIR", |
32 |
+ "ROOT", "ROOTPATH", "SANDBOX_LOG", "SYSROOT", "T", "TMP", "TMPDIR", |
33 |
"USE_EXPAND", "USE_ORDER", "WORKDIR", |
34 |
"XARGS", "__PORTAGE_TEST_HARDLINK_LOCKS", |
35 |
] |
36 |
diff --git a/lib/portage/package/ebuild/doebuild.py b/lib/portage/package/ebuild/doebuild.py |
37 |
index 584ff798b..92e9d755c 100644 |
38 |
--- a/lib/portage/package/ebuild/doebuild.py |
39 |
+++ b/lib/portage/package/ebuild/doebuild.py |
40 |
@@ -369,7 +369,6 @@ def doebuild_environment(myebuild, mydo, myroot=None, settings=None, |
41 |
mysettings["RPMDIR"] = os.path.realpath(mysettings["RPMDIR"]) |
42 |
|
43 |
mysettings["ECLASSDIR"] = mysettings["PORTDIR"]+"/eclass" |
44 |
- mysettings["SANDBOX_LOG"] = mycpv.replace("/", "_-_") |
45 |
|
46 |
mysettings["PORTAGE_BASHRC_FILES"] = "\n".join(mysettings._pbashrc) |
47 |
|
48 |
@@ -407,6 +406,7 @@ def doebuild_environment(myebuild, mydo, myroot=None, settings=None, |
49 |
mysettings["WORKDIR"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "work") |
50 |
mysettings["D"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "image") + os.sep |
51 |
mysettings["T"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "temp") |
52 |
+ mysettings["SANDBOX_LOG"] = os.path.join(mysettings["T"], "sandbox.log") |
53 |
mysettings["FILESDIR"] = os.path.join(settings["PORTAGE_BUILDDIR"], "files") |
54 |
|
55 |
# Prefix forward compatability |
56 |
-- |
57 |
2.24.1 |