yocto-kernel: fix kmachine to deal with overrides
BSPs are built from a particular branch of the kernel repository which is specfied via the mapping of MACHINE to KMACHINE. Unless a global branch is being forced (like libc headers), KMACHINE is an override on a per machine basis. Because KMACHINE is typically override we must first try the most specific variant KMACHINE_<machine> and if that is undefined look for a fallack default. This allows any combination of variables to work (and at the time the anonymous python executes) safely and get us a properly defined branch for the fetcher and build. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
parent
22cf272eb6
commit
54d4b8e861
|
@ -29,10 +29,13 @@ python __anonymous () {
|
|||
# The branch for a build is:
|
||||
# yocto/<kernel type>/${KMACHINE} or
|
||||
# yocto/<kernel type>/${KMACHINE}/base
|
||||
bb.data.setVar("KBRANCH", bb.data.expand("${KMACHINE}",d), d)
|
||||
mach = bb.data.getVar("KMACHINE_" + bb.data.expand("${MACHINE}",d), d, 1)
|
||||
if mach == None:
|
||||
mach = bb.data.getVar("KMACHINE", d, 1)
|
||||
|
||||
bb.data.setVar("KBRANCH", mach, d)
|
||||
bb.data.setVar("KMETA", "meta", d)
|
||||
|
||||
mach = bb.data.getVar("KMACHINE", d, 1)
|
||||
# drop the "/base" if it was on the KMACHINE
|
||||
kmachine = mach.replace('/base','')
|
||||
# drop everything but the last segment
|
||||
|
|
Loading…
Reference in New Issue