From: Jose Quaresma Date: Wed, 20 Jul 2022 11:30:43 +0000 (+0100) Subject: kernel.bbclass: Add shared_workdir_prepare task X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69ff96ea013d8afe7fcaefdf14a8a119ea38057d;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git kernel.bbclass: Add shared_workdir_prepare task The task do_compile_kernelmodules runs after the shared_workdir and is installing some files in STAGING_KERNEL_BUILDDIR, this can races in other recipes that depends on "virtual/kernel:do_shared_workdir" as the STAGING_KERNEL_BUILDDIR is not fully populated when the shared_workdir task ends. To address this issue a new task is added in place of the previows one so the shared_workdir will run after the do_compile_kernelmodules and the new shared_workdir_prepare will replce of the old shared_workdir. Signed-off-by: Jose Quaresma Signed-off-by: Alexandre Belloni --- diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 61b3e8c9567..f41ac8e29b6 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -504,7 +504,8 @@ do_kernel_version_sanity_check() { exit 0 } -addtask shared_workdir after do_compile before do_compile_kernelmodules +addtask shared_workdir_prepare after do_compile before do_compile_kernelmodules +addtask shared_workdir after do_compile_kernelmodules addtask shared_workdir_setscene do_shared_workdir_setscene () { @@ -520,10 +521,16 @@ emit_depmod_pkgdata() { PACKAGEFUNCS += "emit_depmod_pkgdata" -do_shared_workdir[cleandirs] += " ${STAGING_KERNEL_BUILDDIR}" do_shared_workdir () { cd ${B} + kerneldir=${STAGING_KERNEL_BUILDDIR} +} + +do_shared_workdir_prepare[cleandirs] += " ${STAGING_KERNEL_BUILDDIR}" +do_shared_workdir_prepare () { + cd ${B} + kerneldir=${STAGING_KERNEL_BUILDDIR} install -d $kerneldir