[OE-core] trying to summarize the flexibility in bbappend'ing to kernel recipes

Robert P. J. Day rpjday at crashcourse.ca
Wed Feb 24 21:51:05 UTC 2016


   let's see if i can explain this properly -- i want to enumerate all
possible ways to .bbappend to a kernel recipe if i have multiple
target machines and multiple kernel recipes. so let's imagine the
following scenario -- i grab a layer that has two recipe files for
two versions of the kernel, *and* i have two target boards. so ...

  * linux-4.0.bb
  * linux-4.1.bb

and i have two target machines, "mach1" and "mach2", and the combination
of all of these involves various patches. so what are my possibilities?

   first (as long as i understood chris larson properly), i can define
two separate .bbappend files:

  * linux-4.0.bbappend
  * linux-4.1.bbappend

or i can define a single wildcard .bbappend file that covers both:

  * linux-4.%.bbappend

so far, so good.

   next, in these .bbappend files, SRC_URI can refer to any of:

  * .scc files
  * .patch/.diff files
  * .cfg files

so each of my two .bbappend files can enumerate a different set
of files to be applied to that version of the kernel. but wait ...
there's more.

   in each .bbappend file, i can conditionally include files in the
SRC_URI, as in:

  * SRC_URI_mach1 += mach1.patch

so depending on the target machine, i can conditionally include
any of patch files, cfg files or scc files.

   in addition, i can take advantage of FILESEXTRAPATHS, that i once
wrote up here:

   http://www.crashcourse.ca/wiki/index.php/Poky_bbappend_FILESEXTRAPATHS

so that i have a ridiculous set of possibilities as to which patch
files will be applied depending on the:

  * architecture
  * distro
  * target machine

am i making sense so far? because there will be more coming shortly.

rday






More information about the Openembedded-core mailing list