Overview
Syllabus
Intro
What is a Friendly Layer?
But Can't You Just Dynamically Set BBLAYERS?
Build a Friendly Community
Documenting Your Layer
Keep layer.conf Simple
Adding New Content in Layers
Modifying Existing Recipes
Avoid Network Access Outside do_fetch
Using Overrides
Example: Toolchain Override in meta-clang
Using Features
Conditional Syntax
Include vs Require Statements
Example: Distro Features in meta-virtualization
Example: Conditional Inheritance in meta-integrity
Adding Build-time Checks
Example: Checks in meta-virtualization
Using Anonymous Python Functions
Using Classes to Modify Recipes
Modifying BBCLASSEXTEND
yocto-check-layer Script
In Summary: Think About Downstream Developers
Appendix: bblayers.conf Parsing Details
Taught by
Yocto Project