aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2021-01-17 04:39:15 -0800
committerZac Medico <zmedico@gentoo.org>2021-01-17 05:02:29 -0800
commit0aac11200780225cf14a07d6e4445234f1e0f72a (patch)
treeb00f3e30e4c7423ae400ed25c57d431b1f068a53
parentAdd @changed-subslot package set (diff)
downloadportage-0aac11200780225cf14a07d6e4445234f1e0f72a.tar.gz
portage-0aac11200780225cf14a07d6e4445234f1e0f72a.tar.bz2
portage-0aac11200780225cf14a07d6e4445234f1e0f72a.zip
doebuild: use NamedTemporaryFile for PORTAGE_BINPKG_TMPFILE
Signed-off-by: Zac Medico <zmedico@gentoo.org>
-rw-r--r--lib/portage/package/ebuild/doebuild.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/portage/package/ebuild/doebuild.py b/lib/portage/package/ebuild/doebuild.py
index f6cee4518..476689d5e 100644
--- a/lib/portage/package/ebuild/doebuild.py
+++ b/lib/portage/package/ebuild/doebuild.py
@@ -1175,11 +1175,14 @@ def doebuild(myebuild, mydo, _unused=DeprecationWarning, settings=None, debug=0,
# the current user doesn't have write access to $PKGDIR.
if hasattr(portage, 'db'):
bintree = portage.db[mysettings['EROOT']]['bintree']
- mysettings["PORTAGE_BINPKG_TMPFILE"] = \
- bintree.getname(mysettings.mycpv) + \
- ".%s" % (portage.getpid(),)
- bintree._ensure_dir(os.path.dirname(
- mysettings["PORTAGE_BINPKG_TMPFILE"]))
+ binpkg_tmpfile_dir = os.path.join(bintree.pkgdir, mysettings["CATEGORY"])
+ bintree._ensure_dir(binpkg_tmpfile_dir)
+ with tempfile.NamedTemporaryFile(
+ prefix=mysettings["PF"],
+ suffix=".tbz2." + str(portage.getpid()),
+ dir=binpkg_tmpfile_dir,
+ delete=False) as binpkg_tmpfile:
+ mysettings["PORTAGE_BINPKG_TMPFILE"] = binpkg_tmpfile.name
else:
parent_dir = os.path.join(mysettings["PKGDIR"],
mysettings["CATEGORY"])