Patchwork [2/3] kernel-yocto: use KBRANCH as default build branch

login
register
mail settings
Submitter Bruce Ashfield
Date April 1, 2013, 5:09 p.m.
Message ID <5389a28a24e7cc7046d86d78c9e516b0ff76af86.1364835699.git.bruce.ashfield@windriver.com>
Download mbox | patch
Permalink /patch/47213/
State Accepted
Commit 5638954a184010a1c2a5eafb5619e096fb561a99
Headers show

Comments

Bruce Ashfield - April 1, 2013, 5:09 p.m.
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]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
 meta/classes/kernel-yocto.bbclass |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

Patch

diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 7b8e607..d1b4f10 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -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