[OE-core] [PATCH] patch.bbclass: unset TMPDIR after use

Burton, Ross ross.burton at intel.com
Thu Jun 26 14:20:50 UTC 2014


I forgot to say that Robert sent almost exactly this patch last year
but I nacked it because the TMPDIR assignment should happen when patch
is exec'd.  I'm not so sure now as that would cause an unnecessary
overhead to patching.

Ross

On 26 June 2014 15:16, Ross Burton <ross.burton at intel.com> wrote:
> 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 at intel.com>
> ---
>  meta/classes/patch.bbclass |    1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
> index 86c65b3..1e2aab0 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"
>
> --
> 1.7.10.4
>



More information about the Openembedded-core mailing list