Hello Chris,
do you think any of these pieces could be moved to 'official yocto',
specifically as bitbake-layers subcommands? I read through the README,
and it seems that things like 'status' and 'run' would fit very well
there.
Also note that there's a proposal for a json schema and layer tooling
that would be provided directly in oe-core:
https://git.yoctoproject.org/poky-contrib/log/?h=akanavin/setup-layersI can't help but say that there's a certain bit of irony in referring
to
https://xkcd.com/1987/ - when introducing yet another external tool
for yocto layer management :-)
Alex
On Wed, 3 Aug 2022 at 22:21, Chris Laplante via lists.openembedded.org
<chris.laplante=agilent.com@...> wrote:
Hi all,
Today I’m excited to publish a tool I’ve been developing internally for about a year now. It is called ‘yb’, and you can think of it like a cross between kas, Google’s repo, and myrepos (mr).
Project page: https://github.com/Agilent/yb
Download it here: https://github.com/Agilent/yb/releases/tag/0.0.11
The tool is written in Rust. It is statically linked, so all you need to do is download the binary and put it somewhere in PATH.
The primary contribution I believe this tool makes is the ability to not only setup Yocto environments, but keep them in sync with the rest of your team as your product(s) evolve. This is realized via the ‘stream’ mechanism - a git repo that holds your specs (basically like kas’ configuration files). Most operations in yb automatically fetch updates to the active stream before doing anything. If you need to add or remove a layer from your build, just do it in the stream. Anyone using that stream will automatically get the update and be informed to update their environment.
I am also very proud of the ‘status’ command. It works even with vanilla Yocto environments (i.e. what you’re using today) as long as the tool can find “bitbake” on PATH. The “status” command will automatically do a ‘git fetch’ on each layer. When used along with streams/specs, it will also first check for updates to the stream.
I hope you can give it a try and let me know what you find useful/broken. It is still in relatively early development (in particular the ‘yb sync’ command) but it is already helpful for my teams’ day-to-day work.
(P.S. Please forgive the multi-mailing list post)
Thanks,
Chris