[meta-freescale] Linux kernel recipe override question

John Weber rjohnweber at gmail.com
Mon Feb 24 19:59:41 PST 2014


Hi Robin,

On 2/24/14, 2:27 PM, Robin Findley wrote:
> On 2014-02-24 12:51, John Weber wrote:
>> Here is a question someone might be able to quickly answer.
>>
>> I want to be able to override the SRCREV, SRCBRANCH, and the git repository
> for
>> the kernel recipe in local.conf.  I like to do this so that I can do local
>> hacking on a kernel without having to edit the recipe files themselves, and
> I
>> find that managing local.conf is easier when I'm changing SRCREVs a lot.
>>
>> I've been able to override SRCBRANCH by doing this:
>>
>> In recipes-kernel/linux/linux-wandboard.inc:
>>
>> SRCBRANCH ??= "master"
>>
>> The default is set in recipes-kernel/linux/linux-wandboard_3.10.17.bb:
>>
>> SRCBRANCH ?= "<the-default-branch>"
>>
>> Then, in local.conf, I can override it:
>>
>> SRCBRANCH_linux-wandboard = "<my-local-hacking-branch>"
>>
>> This works fine for SRCBRANCH. If I do the same thing with SRCREV, it
> doesn't
>> seem to work.  I've done this:
>>
>> In linux-wandboard_3.10.17.bb:
>>
>> SRCREV ??= "<default big long commit id>"
>>
>> In local.conf:
>>
>> SRCREV_linux-wandboard = "<my local branch commit id>"
>>
>> I always get the checkout of the SRCREV assignment done in the recipe file,
> not
>> the one I set in local.conf.
>>
>> Any idea why?  The only thing I can think of is that SRCREV is evaluated
> completely before
>> local.conf settings are evaluated.
>
> John, you were close.  Here's an example from my local.conf:
>
> PREFERRED_VERSION_linux-wandboard = "3.10.17"
> SRCBRANCH_pn-linux-wandboard = "wandboard_imx_3.10.17_1.0.0_beta_test"
> SRCREV_pn-linux-wandboard = "4299c87fd4d46fd786d1600c57986b1fe164138a"
Beautiful.  Thanks for the help.  This works.
>
> You may want to double-check if your SRCBRANCH override really did work as you
> expected.  I think you need the "_pn-".
Yes. In my setup I had modified the assignment of SRCBRANCH to the weakest one 
(??=) in the linux-wandboard.inc file and then set it using a stronger one (?=) 
in the recipe (.bb) file, and then finally set it using the hardest one (=) in 
the local.conf.  I certainly do not have a solid foundation in these assignment 
operators.  :-)

Using this method I was able to remove those other changes, so this is all good 
stuff.  What does the _pn- do?  In other recipes it serves as a short reference 
for packagename, I think.
>
> -Robin
>



More information about the meta-freescale mailing list