kernel.bbclass: run do_symlink_kernsrc before do_patch

There's a race between do_symlink_kernsrc and do_populate_lic, since
the latter is ordered "after do_patch"; so the two may run in
parallel. In some cases, that actually causes do_populate_lic to fail
if it happens to look for a license file somewhere under ${S} in the
short window after shutil.move and before the symlink has been
created.

Fix that by simply ordering symlink_kernsrc before do_patch. Any task
that pokes around in ${S} looking for files should be ordered after
do_patch, so this should also fix similar latent races with other ad
hoc tasks.

(From OE-Core rev: c5dfc2586b4135cc86e91bb04fed837daf505676)

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Rasmus Villemoes
2020-08-25 16:35:15 +02:00
committed by Richard Purdie
parent 810fa7928d
commit 94ed64f375

View File

@@ -172,7 +172,7 @@ python do_symlink_kernsrc () {
shutil.move(s, kernsrc)
os.symlink(kernsrc, s)
}
addtask symlink_kernsrc before do_configure after do_unpack
addtask symlink_kernsrc before do_patch after do_unpack
inherit kernel-arch deploy