]> code.ossystems Code Review - openembedded-core.git/commit
externalsrc.bbclass: Avoid symlink clashes for virtclasses
authorOla x Nilsson <ola.x.nilsson@axis.com>
Mon, 28 Aug 2017 14:58:16 +0000 (16:58 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 14 Sep 2017 13:07:53 +0000 (14:07 +0100)
commit1781f9f3c893c76656f0bd5879a0cdb5cbe158fe
treeaeef70ed5a05b32616a65a3896a74d5093bc9531
parent878c70a8a341c17fa81fc8314120b7f575d4c99f
externalsrc.bbclass: Avoid symlink clashes for virtclasses

There was a race condifion in externalsrc_configure_prefuncs when the
same source folder is used for several variants of the same recipe,
like this:

EXTERNALSRC_pn-foo = "..."
EXTERNALSRC_pn-foo-native = "..."

The symlinks were created once for each variant of the recipe, and
where they led in the end depended on which do_configure task executed
last.  Create one set of symlinks for each variant by adding an EXTSRC_SUFFIX
variable to the end of the link names.
Tries to handle all known virtclasses and multilib variants.

Use a lockfile for externalsrc_configure_prefuncs to protect the
.git/info/exclude file.

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/externalsrc.bbclass
meta/lib/oeqa/selftest/cases/devtool.py