kernel-yocto: use KBRANCH as default build branch
authorBruce Ashfield <bruce.ashfield@windriver.com>
Mon, 1 Apr 2013 17:09:34 +0000 (10:09 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 2 Apr 2013 17:08:23 +0000 (18:08 +0100)
commit 61001aa [kernel-yocto: respect SRC_URI modified branch selection]
changed branch processing such that a branch specified in the SRC_URI
would set the branch forced as the build branch.

This change broke compatibility with the yocto-bsp, linux-yocto-custom
based recipes. These recipes specify the branch to be built via KBRANCH,
but allow the fetcher to use master for keeping the repository up to
date. This means that no explicit branch is set in the SRC_URI and the
routines return the default branch of 'master', which is not what is
set in KBRANCH.

To support this case, we simply pass a default branch into the routine
returning the branch to build, and ensure that the default is KBRANCH
so if no branch is passed in the SRC_URI, KBRANCH is always built.

[YOCTO #4145]

(From OE-Core rev: 0c389f41d7ea0697a5468c73cce295a2fa64e9e0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/kernel-yocto.bbclass

index 7b8e607..d1b4f10 100644 (file)
@@ -46,7 +46,7 @@ def find_kernel_feature_dirs(d):
 
 # find the master/machine source branch. In the same way that the fetcher proceses
 # git repositories in the SRC_URI we take the first repo found, first branch.
-def get_machine_branch(d):
+def get_machine_branch(d, default):
     fetch = bb.fetch2.Fetch([], d)
     for url in fetch.urls:
         urldata = fetch.ud[url]
@@ -55,7 +55,7 @@ def get_machine_branch(d):
             branches = urldata.parm.get("branch").split(',')
             return branches[0]
            
-    return "master"
+    return default
 
 do_patch() {
        cd ${S}
@@ -70,7 +70,7 @@ do_patch() {
                fi
        fi
 
-       machine_branch="${@ get_machine_branch(d)}"
+       machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
 
        # if we have a defined/set meta branch we should not be generating
        # any meta data. The passed branch has what we need.
@@ -195,7 +195,8 @@ do_kernel_checkout() {
                fi
        fi
        
-       machine_branch="${@ get_machine_branch(d)}"
+       machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
+
        if [ "${KBRANCH}" != "${machine_branch}" ]; then
                echo "WARNING: The SRC_URI machine branch and KBRANCH are not the same."
                echo "         KBRANCH will be adjusted to match, but this typically is a"
@@ -280,7 +281,7 @@ do_validate_branches() {
        cd ${S}
        export KMETA=${KMETA}
 
-       machine_branch="${@ get_machine_branch(d)}"
+       machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
 
        set +e
        # if SRCREV is AUTOREV it shows up as AUTOINC there's nothing to