Manifests: Project Sanity in the Ever-Changing Zephyr World - Mike Szczys, Golioth
Channel: The Linux Foundation
Date: 2023-07-12

Manifests: Project Sanity in the Ever-Changing Zephyr World - Mike Szczys, Golioth

Zephyr has a robust “manifest” system that you can use to lock each software component in your project to a specific branch, tag, or commit. At first glance it may not sound like much, but if you use it wisely, every project will build without fail whether it’s been a week, a month, a year, or a decade since you last compiled. The update cycle is (thankfully) very quick with Zephyr. Users who install one central version of Zephyr and use it for several different projects are bound to encounter version incompatibilities when those projects do not update at the same pace as the RTOS. This is the reality of any rapidly improving software ecosystem, and I’ll show how to use the manifest system so your project builds are always stable. This talk covers how to create project-level manifest files that install a dedicated copy of Zephyr and all other library dependencies. Once that's in place we'll use the manifest to pull in your own custom board definitions, out-of-tree helper files, and some other goodies that keep your firmware stable, modular, and easy to upgrade, all at the same time.