[yocto] [PATCH 1/2] yocto-kernel: fix kmachine to deal with overrides
Bruce Ashfield
bruce.ashfield at windriver.com
Mon Dec 27 22:49:13 PST 2010
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 at windriver.com>
---
meta/classes/kernel-yocto.bbclass | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index f541878..7ebe5d6 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -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
--
1.7.0.4
More information about the yocto
mailing list