我目前的项目基于 Yocto Daisy,在一个 git repo 中包含自定义层声明,在另一个 git repo 中包含应用程序代码。应用程序代码生命周期与自定义层生命周期有些分离,因此我希望能够在构建中捕获它。
为此,我有两个扩展 core-image 的配方:“my-image”和“my-image-dev”。我想让“我的图像”始终使用“应用程序”的标记版本(例如 v0.1、v0.2 等)。我想让 'my-image-dev' 总是使用来自 git master 的 'application' HEAD。
我已经编写了食谱“application_0.1.bb”和“application_git.bb”,并单独测试了它们。它们的行为与预期一样——“application_0.1.bb”得到标签 0.1,“application_git.bb”得到主人。
当我尝试指示特定图像使用特定版本的“应用程序”时,问题就出现了。我原以为这就像添加PREFERRED_VERSION_application = "0.1"
和添加PREFERRED_VERSION_application = "git%"
到我的图像食谱一样简单,但这并没有给我任何爱。似乎唯一可行的地方PREFERRED_VERSION
是 layer.conf 和 machine.conf,这对我没有帮助,因为这两个图像都用于同一台逻辑机器。
所以这是我的问题 - 有没有办法从 Yocto 图像中声明对特定版本的包的依赖?