为此,我有两个扩展核心图像的方法:’my-image’和’my-image-dev’.我想’my-image’总是使用’application’的标记版本(例如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图像声明对特定版本的包的依赖?
解决方法 我找到了一个解决方案,可以让我完全按照自己的意愿行事.关键是将我的’应用程序’包拆分为两个包 – ‘application’和’application-git’.然后我将发布版本的配方移动到’application’,将开发配方移动到’application-git’.为了减少重复的代码,我将两个配方之间的所有通用逻辑移动到文件’application / application.inc’中,并使用require recipes-application / application / application.inc将其包含在’application-git.bb’中.
现在我可以在我的图像中包含适当的包.所以’my-image.bb’包含IMAGE_INSTALL =“application”. ‘my-image-dev.bb’需要’my-image.bb’,所以我添加了行IMAGE_INSTALL_remove =“application”并添加了IMAGE_INSTALL =“application-git”.
这是对系统的轻微滥用,但由于它产生了明显的结果(图像中的发布版本,图像开发中的开发版本),我认为这是值得的.
总结以上是内存溢出为你收集整理的embedded-linux – 如何在Yocto图像配方中使用特定的包版本?全部内容,希望文章能够帮你解决embedded-linux – 如何在Yocto图像配方中使用特定的包版本?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)