aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2016-04-01 20:09:26 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-03 15:51:09 +0100
commitd91a668bc0f6c2cfc52174b4039c7ea0d84e8d4d (patch)
treecc1f54d813ed2decdca50be5b9fc51e14f940fce
parent967009e91472db109bb94c8f865924fef1beaa22 (diff)
downloadopenembedded-core-contrib-d91a668bc0f6c2cfc52174b4039c7ea0d84e8d4d.tar.gz
kernel-yocto: enforce SRC_URI specified branch
During the simplication and cleanup of branches and kernel meta data handling, the ability to force build a branch that didn't match the meta data was dropped. There are valid uses cases when a different branch should be built (testing, development, etc), so we restore the capability with this change. If after the kernel meta data is processed the current branch does not match the SRC_URI specified branch, a warning is generated about the impending branch switch and that the user should double check that they are building what they expect. WARNING: After meta data application, the kernel tree branch is standard/base. The WARNING: SRC_URI specified branch standard/gt. The branch will be forced to standard/gt, WARNING: but this means the board meta data (.scc files) do not match the SRC_URI specification. WARNING: The meta data and branch standard/gt should be inspected to ensure the proper WARNING: kernel is being built. Reported-by: Steve Sakoman" <steve.sakoman@intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/kernel-yocto.bbclass11
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 6a6a3a31d9..f86b3ef011 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -170,6 +170,17 @@ 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}
+ fi
+
if [ "${machine_srcrev}" != "AUTOINC" ]; then
if ! [ "$(git rev-parse --verify ${machine_srcrev}~0)" = "$(git merge-base ${machine_srcrev} HEAD)" ]; then
bberror "SRCREV ${machine_srcrev} was specified, but is not reachable"