package_rpm: Set _tmppath to avoid races over tmp files

Submitted by Richard Purdie on Nov. 16, 2011, 5:14 p.m.

Details

Message ID 1321463640.7756.19.camel@ted
State Accepted
Commit b2ef543284c8c8d0d3badb2e1bcadad1106982d2
Headers show

Commit Message

Richard Purdie Nov. 16, 2011, 5:14 p.m.
Occasionally we keep seeing "unable to open temp file" messages during
do_package_write_rpm tasks. This appears to happen when multiple
processes are writing rpm files and is likely due to using the
shared system temp directory. This patch changes the tmp path
to the package work directory meaning conflicts should become
a non-issue.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---

Patch hide | download patch | download mbox

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 2ace053..75e4f2d 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -955,6 +955,7 @@  python do_package_rpm () {
 	cmd = cmd + " --define '_unpackaged_files_terminate_build 0'"
 	cmd = cmd + " --define 'debug_package %{nil}'"
 	cmd = cmd + " --define '_rpmfc_magic_path " + magicfile + "'"
+	cmd = cmd + " --define '_tmppath " + workdir + "'"
 	cmd = cmd + " -bb " + outspecfile
 
 	# Build the rpm package!