Preferring and providing recipes
The dependency relation between recipes is essential to BitBake and Poky. It is defined inside each recipe file, with a variable that describes on what a recipe depends (DEPENDS
) and what a recipe provides to the system (PROVIDES
). These two variables together build the dependency graph used by BitBake during dependency resolution.
So, if a recipe called foo_1.0.bb
depends on bar
, BitBake lists all recipes providing bar
. The bar
dependency can be satisfied by the following:
- A recipe with the
bar_<version>.bb
format, because every recipe provides itself - A recipe where the
PROVIDES
variable includesbar
A dependency can be satisfied by several recipes (for example, if two or more recipes have PROVIDES += "bar"
). In this case, we must inform BitBake which specific provider to use.
The virtual/kernel
provider is a clear example where this mechanism is used. The virtual/
namespace is the convention adopted when we have a set of commonly overridden providers.
All...