Ed,
This should go to the openembedded-c...@lists.openembedded.org, also please review the Patch and Commit guidelines:
http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Sau! On 03/11/2015 02:28 PM, Ed Bartosh wrote:
Merged do_shared_workdir into kernel_do_compile This change should fix race condition between do_compilemodules and do_shared_workdir. Race occurs when do_compilemodules changes include/generated/ directory content while do_shared_workdir tries to copy it. Fixes [YOCTO #7321] Signed-off-by: Ed Bartosh <ed.bart...@linux.intel.com> --- meta/classes/kernel-yocto.bbclass | 2 +- meta/classes/kernel.bbclass | 5 ++--- meta/classes/module-base.bbclass | 2 +- meta/recipes-kernel/linux/kernel-devsrc.bb | 2 +- meta/recipes-kernel/linux/linux-dummy.bb | 5 ----- meta/recipes-kernel/lttng/lttng-modules_2.6.0.bb | 2 +- meta/recipes-kernel/perf/perf.bb | 2 +- 7 files changed, 7 insertions(+), 13 deletions(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 8db4899..27a027d 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -1,5 +1,5 @@ # remove tasks that modify the source tree in case externalsrc is inherited -SRCTREECOVEREDTASKS += "do_kernel_link_vmlinux do_kernel_configme do_validate_branches do_kernel_configcheck do_kernel_checkout do_shared_workdir do_fetch do_unpack do_patch" +SRCTREECOVEREDTASKS += "do_kernel_link_vmlinux do_kernel_configme do_validate_branches do_kernel_configcheck do_kernel_checkout do_fetch do_unpack do_patch" # returns local (absolute) path names for all valid patches in the # src_uri diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 125ed88..7914242 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -192,6 +192,7 @@ kernel_do_compile() { if test "${KERNEL_IMAGETYPE_FOR_MAKE}.gz" = "${KERNEL_IMAGETYPE}"; then gzip -9c < "${KERNEL_IMAGETYPE_FOR_MAKE}" > "${KERNEL_OUTPUT}" fi + shared_workdir } do_compile_kernelmodules() { @@ -234,8 +235,6 @@ kernel_do_install() { } do_install[prefuncs] += "package_get_auto_pr" -addtask shared_workdir after do_compile before do_install - emit_depmod_pkgdata() { # Stash data for depmod install -d ${PKGDESTWORK}/kernel-depmod/ @@ -245,7 +244,7 @@ emit_depmod_pkgdata() { PACKAGEFUNCS += "emit_depmod_pkgdata" -do_shared_workdir () { +shared_workdir () { cd ${B} kerneldir=${STAGING_KERNEL_BUILDDIR} diff --git a/meta/classes/module-base.bbclass b/meta/classes/module-base.bbclass index 3eb2e92..31ab95f 100644 --- a/meta/classes/module-base.bbclass +++ b/meta/classes/module-base.bbclass @@ -15,7 +15,7 @@ KERNEL_OBJECT_SUFFIX = ".ko" # kernel modules are generally machine specific PACKAGE_ARCH = "${MACHINE_ARCH}" -do_configure[depends] += "virtual/kernel:do_shared_workdir" +do_configure[depends] += "virtual/kernel:kernel_do_compile" # Function to ensure the kernel scripts are created. Expected to # be called before do_compile. See module.bbclass for an exmaple. diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb index e36de1b..f2a1d7c 100644 --- a/meta/recipes-kernel/linux/kernel-devsrc.bb +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb @@ -16,7 +16,7 @@ inherit module-base # We need the kernel to be staged (unpacked, patched and configured) before # we can grab the source and make the source package. We also need the bits from # ${B} not to change while we install, so virtual/kernel must finish do_compile. -do_install[depends] += "virtual/kernel:do_shared_workdir" +do_install[depends] += "virtual/kernel:kernel_do_compile" # Need the source, not just the output of populate_sysroot do_install[depends] += "virtual/kernel:do_compile" diff --git a/meta/recipes-kernel/linux/linux-dummy.bb b/meta/recipes-kernel/linux/linux-dummy.bb index cc0e4e6..8f4ddc4 100644 --- a/meta/recipes-kernel/linux/linux-dummy.bb +++ b/meta/recipes-kernel/linux/linux-dummy.bb @@ -33,10 +33,6 @@ do_compile () { : } -do_shared_workdir () { - : -} - do_install() { : } @@ -51,4 +47,3 @@ do_deploy() { addtask bundle_initramfs after do_install before do_deploy addtask deploy after do_install -addtask shared_workdir after do_compile before do_install diff --git a/meta/recipes-kernel/lttng/lttng-modules_2.6.0.bb b/meta/recipes-kernel/lttng/lttng-modules_2.6.0.bb index d0039b3..9d07ae4 100644 --- a/meta/recipes-kernel/lttng/lttng-modules_2.6.0.bb +++ b/meta/recipes-kernel/lttng/lttng-modules_2.6.0.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=1412caf5a1aa90d6a48588a4794c0eac \ file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad" DEPENDS = "virtual/kernel" -do_configure[depends] += "virtual/kernel:do_shared_workdir" +do_configure[depends] += "virtual/kernel:kernel_do_compile" inherit module diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index f69d177..59d6be2 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb @@ -32,7 +32,7 @@ DEPENDS = " \ bison flex \ " -do_configure[depends] += "virtual/kernel:do_shared_workdir" +do_configure[depends] += "virtual/kernel:kernel_do_compile" PROVIDES = "virtual/perf"
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto