commit: 1b18d8257ecd6c8c8f10c711b41a2be0fe7d587f
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 18 05:31:16 2020 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Jan 23 06:08:31 2020 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=1b18d825
doebuild: export SANDBOX_LOG=${T}/sandbox.log (bug 704848)
In order to avoid a SANDBOX_LOG collision with another process
having the same pid when pid-sandbox is enabled, export a
unique SANDBOX_LOG value. The ${T} directory is a convenient
location, since it is guaranteed to exist and be writable during
relevant ebuild phases.
Bug: https://bugs.gentoo.org/704848
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
lib/portage/package/ebuild/_config/special_env_vars.py | 4 ++--
lib/portage/package/ebuild/doebuild.py | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/portage/package/ebuild/_config/special_env_vars.py
b/lib/portage/package/ebuild/_config/special_env_vars.py
index 5e7ca6d47..dc01339f7 100644
--- a/lib/portage/package/ebuild/_config/special_env_vars.py
+++ b/lib/portage/package/ebuild/_config/special_env_vars.py
@@ -28,7 +28,7 @@ env_blacklist = frozenset((
"PORTAGE_INTERNAL_CALLER", "PORTAGE_IUSE",
"PORTAGE_NONFATAL", "PORTAGE_PIPE_FD", "PORTAGE_REPO_NAME",
"PORTAGE_USE", "PROPERTIES", "RDEPEND", "REPOSITORY",
- "REQUIRED_USE", "RESTRICT", "ROOT", "SLOT", "SRC_URI", "_"
+ "REQUIRED_USE", "RESTRICT", "ROOT", "SANDBOX_LOG", "SLOT", "SRC_URI",
"_"
))
environ_whitelist = []
@@ -78,7 +78,7 @@ environ_whitelist += [
"PORTAGE_VERBOSE", "PORTAGE_WORKDIR_MODE", "PORTAGE_XATTR_EXCLUDE",
"PORTDIR", "PORTDIR_OVERLAY", "PREROOTPATH", "PYTHONDONTWRITEBYTECODE",
"REPLACING_VERSIONS", "REPLACED_BY_VERSION",
- "ROOT", "ROOTPATH", "SYSROOT", "T", "TMP", "TMPDIR",
+ "ROOT", "ROOTPATH", "SANDBOX_LOG", "SYSROOT", "T", "TMP", "TMPDIR",
"USE_EXPAND", "USE_ORDER", "WORKDIR",
"XARGS", "__PORTAGE_TEST_HARDLINK_LOCKS",
]
diff --git a/lib/portage/package/ebuild/doebuild.py
b/lib/portage/package/ebuild/doebuild.py
index 584ff798b..92e9d755c 100644
--- a/lib/portage/package/ebuild/doebuild.py
+++ b/lib/portage/package/ebuild/doebuild.py
@@ -369,7 +369,6 @@ def doebuild_environment(myebuild, mydo, myroot=None,
settings=None,
mysettings["RPMDIR"] = os.path.realpath(mysettings["RPMDIR"])
mysettings["ECLASSDIR"] = mysettings["PORTDIR"]+"/eclass"
- mysettings["SANDBOX_LOG"] = mycpv.replace("/", "_-_")
mysettings["PORTAGE_BASHRC_FILES"] = "\n".join(mysettings._pbashrc)
@@ -407,6 +406,7 @@ def doebuild_environment(myebuild, mydo, myroot=None,
settings=None,
mysettings["WORKDIR"] = os.path.join(mysettings["PORTAGE_BUILDDIR"],
"work")
mysettings["D"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "image")
+ os.sep
mysettings["T"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "temp")
+ mysettings["SANDBOX_LOG"] = os.path.join(mysettings["T"], "sandbox.log")
mysettings["FILESDIR"] = os.path.join(settings["PORTAGE_BUILDDIR"],
"files")
# Prefix forward compatability