]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
archiver.bbclass: some recipes that uses the kernelsrc bbclass uses the shared source
authorJose Quaresma <quaresma.jose@gmail.com>
Fri, 22 Jul 2022 12:31:24 +0000 (13:31 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 12 Aug 2022 14:45:42 +0000 (15:45 +0100)
commit5487dee2e1237fb57c5e59b2bbbfbcdfc8c97ab6
tree0f660d9fbd6794371a29e4a4f1ec613f4c6986ed
parent0ea8afd4f9599469d1a23824c451c62eabb76660
archiver.bbclass: some recipes that uses the kernelsrc bbclass uses the shared source

This fix a race that happens when building some of the followning recipes
with kernel at same time.

The kernelsrc uses the kernel shared source dir as their source
S = "${STAGING_KERNEL_DIR}" and this will cause a race in the
do_unpack_and_patch task, when bitbake runs the
bb.build.exec_func('do_unpack', d) because do_unpack will
clean the source dir on startup.

| ok: note that S != "${STAGING_KERNEL_DIR} for this ones
openembedded-core/meta/recipes-kernel/perf/perf.bb:inherit kernelsrc
meta-openembedded/meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb:inherit kernelsrc autotools-brokensep

| broken
meta-openembedded/meta-oe/recipes-kernel/cpupower/cpupower.bb:inherit kernelsrc kernel-arch bash-completion
meta-openembedded/meta-oe/recipes-kernel/spidev-test/spidev-test.bb:inherit bash-completion kernelsrc kernel-arch
meta-openembedded/meta-oe/recipes-kernel/intel-speed-select/intel-speed-select.bb:inherit kernelsrc
meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb:inherit bash-completion kernelsrc kernel-arch

The issue can be replicated with:

INHERIT += "archiver"
ARCHIVER_MODE[src] = "original"
ARCHIVER_MODE[diff] = "1"

And:

R=<recipe> bitbake -c cleansstate virtual/kernel $R && bitbake $R

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/archiver.bbclass