]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel-yocto: split meta data generation from patching phase
authorBruce Ashfield <bruce.ashfield@windriver.com>
Thu, 5 Mar 2015 14:04:01 +0000 (09:04 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 20 Mar 2015 11:03:17 +0000 (11:03 +0000)
The linux-yocto kernel has a meta-data component which accompanies the
actual tree. That meta-data is processed to generate a series file that
controls the patching and configuration of the kernel.

patching and configuration are two distinct phases, so when working on
kernel configuration, it doesn't make sense to always have to re-run
the patching step just to update configuration data in the meta-series.

To allow a more granular set of tasks, we break the meta-data generation
into a separate task, which runs before do_patch. This allows the task
to be explicitly called when working on configuration, but otherwise
has no impact on the build.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
meta/classes/kernel-yocto.bbclass

index 8db489964ed2d2bef1319b8637ca9c3f3608b1f7..1e226a5722ac717ee027521e0ea900801b88524b 100644 (file)
@@ -55,7 +55,7 @@ def get_machine_branch(d, default):
            
     return default
 
-do_patch() {
+do_kernel_metadata() {
        cd ${S}
        export KMETA=${KMETA}
 
@@ -81,7 +81,7 @@ do_patch() {
                createme_flags="--disable-meta-gen --meta ${KMETA}"
        fi
 
-       createme ${createme_flags} ${ARCH} ${machine_branch}
+       createme -v -v ${createme_flags} ${ARCH} ${machine_branch}
        if [ $? -ne 0 ]; then
                bbfatal "Could not create ${machine_branch}"
        fi
@@ -118,6 +118,10 @@ do_patch() {
        if [ $? -ne 0 ]; then
                bbfatal "Could not update ${machine_branch}"
        fi
+}
+
+do_patch() {
+       cd ${S}
 
        # executes and modifies the source tree as required
        patchme ${KMACHINE}
@@ -221,6 +225,7 @@ do_kernel_checkout() {
 do_kernel_checkout[dirs] = "${S}"
 
 addtask kernel_checkout before do_patch after do_unpack
+addtask kernel_metadata after do_validate_branches before do_patch
 
 do_kernel_configme[dirs] += "${S} ${B}"
 do_kernel_configme() {