diff options
author | Zac Medico <zmedico@gentoo.org> | 2021-01-17 04:39:15 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2021-01-17 05:02:29 -0800 |
commit | 0aac11200780225cf14a07d6e4445234f1e0f72a (patch) | |
tree | b00f3e30e4c7423ae400ed25c57d431b1f068a53 | |
parent | Add @changed-subslot package set (diff) | |
download | portage-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.py | 13 |
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"]) |