Book Image

Embedded Linux Development with Yocto Project

Book Image

Embedded Linux Development with Yocto Project

Overview of this book

Table of Contents (22 chapters)
Embedded Linux Development with Yocto Project
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
References
Index

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 itself

  • A recipe with the PROVIDES variable set to bar

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...