[yocto] machine specific task

Christopher Larson clarson at kergoth.com
Wed Oct 12 08:36:55 PDT 2016


On Wed, Oct 12, 2016 at 4:08 AM, Patrick Ohly <patrick.ohly at intel.com>
wrote:

> On Wed, 2016-10-12 at 12:58 +0300, Mircea Gliga wrote:
> > According to the docs here
> > http://www.yoctoproject.org/docs/2.1.1/mega-manual/mega-
> manual.html#structure-your-layers
> > one can specify variables that are machine specific, eg
> > KERNEL_DEVICETREE_qemuarm = "versatile-pb.dtb". I can't find a reference
> > on how to create a task specific only for a certain machine.
> > Is there some mechanism to add and execute a custom task just for a
> > specific machine, using *addtask* ?
> >
> > As an alternative, I could check the machine name right in the beginning
> > of the do_mycustomtask function, and execute code accordingly, something
> > like (pseudo-code):
> >
> > do_mycustomtask {
> >      if {MACHINE} != 'myMachineName'
> >          return;
> >      # code executing for all other machines
> >      [...]
> > }
> > addtask mycustomtask after do_configure before do_compile
>
> It is possible to add the task conditionally in an anonymous Python
> method:
>
> python () {
>     if '${MACHINE}' == 'myMachineName':
>         bb.build.addtask('do_mycustomtask', 'do_compile', 'do_configure',
> d)
> }
>
> I personally find that nicer than the if check in the function itself,
> because the tasks will only show up in build logs when it actually does
> something.


Good idea, but use d.getVar() :)
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20161012/5a569759/attachment.html>


More information about the yocto mailing list