我的当前项目基于Yocto Daisy,其中一个git仓库中包含自定义层声明,另一个git仓库中则包含应用程序代码。应用程序代码的生命周期与自定义层的生命周期有些分离,因此我想在构建过程中捕获这种情况。为此,我有两个扩展core-image的recipes:'my-image'和'my-image-dev'。我希望'my-image'总是使用'application'的已标记版本(例如v0.1、v0.2等),并且'my-image-dev'总是使用从git master检出的'application' HEAD。
我编写了'recipes'application_0.1.bb'和'application_git.bb',并在隔离环境中进行了测试。它们的行为符合预期——'application_0.1.bb'获取标签0.1,'application_git.bb'获取master。
问题出现在当我尝试命令特定的image使用特定版本的'application'时。我本以为这很简单,只需将
所以我的问题是,是否有一种方法可以从Yocto image中声明对特定包版本的依赖关系?
我编写了'recipes'application_0.1.bb'和'application_git.bb',并在隔离环境中进行了测试。它们的行为符合预期——'application_0.1.bb'获取标签0.1,'application_git.bb'获取master。
问题出现在当我尝试命令特定的image使用特定版本的'application'时。我本以为这很简单,只需将
PREFERRED_VERSION_application = "0.1"
和PREFERRED_VERSION_application = "git%"
添加到我的image recipes中即可,但这并没有起作用。似乎唯一可以使用PREFERRED_VERSION
的地方是layer.conf和machine.conf,但这对我没有用,因为两个image都是针对同一台逻辑机器的。所以我的问题是,是否有一种方法可以从Yocto image中声明对特定包版本的依赖关系?