]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel-yocto: enforce SRC_URI specified branch
authorBruce Ashfield <bruce.ashfield@windriver.com>
Sat, 2 Apr 2016 00:09:26 +0000 (20:09 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 3 Apr 2016 14:51:09 +0000 (15:51 +0100)
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>
meta/classes/kernel-yocto.bbclass

index 6a6a3a31d904bd8d19bf11a8fec4610b1a003fef..f86b3ef011a3a0ca2d93c5e7c6bd7a7ea4cf9875 100644 (file)
@@ -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"