Preferring and providing recipes
The dependency relation between recipes is core to BitBake and the build tool as a whole. It is defined inside each recipe file, with a variable which 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 the dependency resolution.
So, if a recipe foo_1.0.bb
depends on bar
, BitBake lists all recipes providing bar
. The bar
dependency can be satisfied by the following:
The
bar_<version>.bb
format as every recipe provides itselfA recipe with the
PROVIDES
variable set tobar
A dependency can be satisfied by several recipes (for example, two or more recipes have PROVIDES += "bar"
). In this case, we must inform BitBake the 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 recipes that require...