aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2014-06-26 15:16:55 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-29 08:58:30 +0100
commit51ea4378864f1468df2ca282a84f78a17d6861aa (patch)
treedfac621fc1c80db9b2d54f0272227afa3a550900
parentbf1473d0c1b099b8d919835cc430b99606134aab (diff)
downloadopenembedded-core-contrib-51ea4378864f1468df2ca282a84f78a17d6861aa.tar.gz
patch.bbclass: unset TMPDIR after use
GNU Patch < 2.6.1 has a race condition so we create a per-instance TMPDIR to avoid this. This was implemented by setting os.environ[TMPDIR] but at the end of do_patch the temporary directory is deleted but TMPDIR is not unset. In general this doesn't cause a problem but if do_patch is embedded in a larger function then TMPDIR is set to a directory that doesn't exist. Avoid this by removing TMPDIR from os.environ when the directory is deleted. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/patch.bbclass1
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
index 86c65b3b8d..1e2aab0418 100644
--- a/meta/classes/patch.bbclass
+++ b/meta/classes/patch.bbclass
@@ -177,6 +177,7 @@ python patch_do_patch() {
bb.fatal(str(e))
bb.utils.remove(process_tmpdir, True)
+ del os.environ['TMPDIR']
}
patch_do_patch[vardepsexclude] = "PATCHRESOLVE"