Preferences and providers
Once BitBake has realized the "parsing" step (analyzing all the recipes), it must know how to build the target. It starts by looking through the
PROVIDES
variable set in the recipe files. The default PROVIDES
value for a recipe is its name (
PN
).
Note
PN represents the name of the recipe; PR, the revision of the recipe; and PV, the version of the recipe. For example, when using the recipe rpio-gpio_0.5.9.bb
, here is what the values will be:
${PN} = rpi-gpio
${PV} = 0.5.9
Sometimes, a target might have multiple providers. A common example is virtual/kernel, which is provided by each kernel recipe (check out meta-raspberrypi/tree/master/recipes-kernel/linux
for further information). Each machine often selects the best kernel provider by using a line similar to the following in the machine configuration file. If we look into this following file (meta-raspberrypi
/
conf
/
machine
/
include
/rpi-default-providers.inc
), we can see some variables:
# RaspberryPi...