]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel-yocto: Ensure python code has awlays run before SRCPV is expanded
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 8 Feb 2011 10:35:53 +0000 (10:35 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 8 Feb 2011 12:05:36 +0000 (12:05 +0000)
The python code in this class file needs to run before SRCPV is expanded
and calls into the fetcher are made. To so this we create a python function
and prepend a call to it before SRCPV's get_srcrev() call.

Ugly, ugly, ugly but the ordering is guaranteed.

If this doesn't happen, the fetcher can end up in two different states and
there may be caching implications of this.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/kernel-yocto.bbclass

index 2e01948eb12cb45d7e627bc91954a69652cd38d3..4c52bca43a185e36abec19e8fbafb1072e9b7b69 100644 (file)
@@ -9,7 +9,13 @@ S = "${WORKDIR}/linux"
 # branch that is always present 'standard'. This sets the KBRANCH variable
 # and is used in the SRC_URI. The machine is then set back to ${MACHINE},
 # since futher processing will use that to create local branches
-python __anonymous () {
+
+SRCPV_prepend = "${@yoctokernel_variables_fixup(d)}"
+
+def yoctokernel_variables_fixup(d):
+    if d.getVar("PVFIXUPDONE", False) is "done":
+        return ""
+
     import bb, re, string
 
     version = bb.data.getVar("LINUX_VERSION", d, 1)
@@ -47,7 +53,8 @@ python __anonymous () {
             bb.data.setVar('KMACHINE_' + bb.data.expand("${MACHINE}",d), bb.data.expand("${MACHINE}",d), d)
             bb.data.setVar("KBRANCH", "yocto/standard/base", d)
             bb.data.setVar("BOOTSTRAP", "yocto/standard/" + bb.data.expand("${MACHINE}",d), d)
-}
+    d.setVar("PVFIXUPDONE", "done")
+    return ""
 
 do_patch() {
        cd ${S}