[OE-core] [PATCH 04/11] kernel-yocto: allow branch auditing to be suspended

Bruce Ashfield bruce.ashfield at windriver.com
Wed May 4 17:53:07 UTC 2016


When working on the yocto-bsp and kernel-lab update for yocto 1.2
we found it was impossible for a end-user BSP to isolate patches
on a branch, since with the following commit:

  [kernel-yocto: enforce SRC_URI specified branch]

Any new branch would be switched to whatever was specified on the
SRC_URI and undoing the work that the yocto-bsp tool did to support
board specific patches.

To fix this, we'll keep the enforcing of branch consistency enabled
by default, but introduce a variable "KMETA_AUDIT" that when not
set will skip the check.

There's no impact for existing users, and it is only something that
other plumbing commands and tools will need to use (or care about).

[YOCTO: #9120]

Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
---
 meta/classes/kernel-yocto.bbclass         | 23 ++++++++++++++---------
 meta/recipes-kernel/linux/linux-yocto.inc |  1 +
 2 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index f86b3ef011a3..a9d42053da01 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -170,15 +170,20 @@ do_patch() {
 		fi
 	fi
 
-        current_branch=`git rev-parse --abbrev-ref HEAD`
-        machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
-        if [ "${current_branch}" != "${machine_branch}" ]; then
-            bbwarn "After meta data application, the kernel tree branch is ${current_branch}. The"
-            bbwarn "SRC_URI specified branch ${machine_branch}. The branch will be forced to ${machine_branch},"
-            bbwarn "but this means the board meta data (.scc files) do not match the SRC_URI specification."
-            bbwarn "The meta data and branch ${machine_branch} should be inspected to ensure the proper"
-            bbwarn "kernel is being built."
-            git checkout -f ${machine_branch}
+        if [ -n "${KMETA_AUDIT}" ]; then
+            current_branch=`git rev-parse --abbrev-ref HEAD`
+            machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
+            if [ "${current_branch}" != "${machine_branch}" ]; then
+                bbwarn "After meta data application, the kernel tree branch is ${current_branch}."
+                bbwarn "The SRC_URI specified branch ${machine_branch}."
+                bbwarn ""
+                bbwarn "The branch will be forced to ${machine_branch}, but this means the board meta data"
+                bbwarn "(.scc files) do not match the SRC_URI specification."
+                bbwarn ""
+                bbwarn "The meta data and branch ${machine_branch} should be inspected to ensure the proper"
+                bbwarn "kernel is being built."
+                git checkout -f ${machine_branch}
+            fi
         fi
 
 	if [ "${machine_srcrev}" != "AUTOINC" ]; then
diff --git a/meta/recipes-kernel/linux/linux-yocto.inc b/meta/recipes-kernel/linux/linux-yocto.inc
index 6b161fc064be..bd9157044228 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -35,6 +35,7 @@ SRCREV_FORMAT ?= "meta_machine"
 #   2: report options that are not hardware related, but set by a BSP
 KCONF_AUDIT_LEVEL ?= "1"
 KCONF_BSP_AUDIT_LEVEL ?= "0"
+KMETA_AUDIT ?= "yes"
 
 LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
 
-- 
2.5.0




More information about the Openembedded-core mailing list