kernel-yocto.bbclass: Fix deps when externalsrc is used

do_kernel_configme was recently removed from SRCTREECOVEREDTASKS so this
task still runs when externalsrc is used. This task normally runs after
do_patch but when externalsrc is used, do_patch is removed and this ordering
restriction does nothing. This allows bitbake to execute do_kernel_configme
too early, causing races with do_unpack.

This is fixed by adding in a dependency on do_unpack when externalsrc is
used.

(From OE-Core rev: 75d31beb03d9369448d8d77e12321aa2d91bebf0)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Barker 2020-04-08 16:14:55 +01:00 committed by Richard Purdie
parent 4bd5cbabf6
commit b72dbb2e4b

View File

@ -489,6 +489,12 @@ python () {
# If diffconfig is available, ensure it runs after kernel_configme # If diffconfig is available, ensure it runs after kernel_configme
if 'do_diffconfig' in d: if 'do_diffconfig' in d:
bb.build.addtask('do_diffconfig', None, 'do_kernel_configme', d) bb.build.addtask('do_diffconfig', None, 'do_kernel_configme', d)
externalsrc = d.getVar('EXTERNALSRC')
if externalsrc:
# If we deltask do_patch, do_kernel_configme is left without
# dependencies and runs too early
d.setVarFlag('do_kernel_configme', 'deps', (d.getVarFlag('do_kernel_configme', 'deps', False) or []) + ['do_unpack'])
} }
# extra tasks # extra tasks