繁体   English   中英

yocto:REQUIRED_VERSION 不工作,如果配方不存在

[英]yocto: REQUIRED_VERSION not working, if recipe does not exist

我在当前的 kirkstone LTS 版本中使用 yocto(很长一段时间)。 我尝试使用食谱的版本信息。

请参阅: https://docs.yoctoproject.org/4.0.6/ref-manual/variables.html?highlight=preferred_version#term-PV

所以我有一个这样的食谱:'my-recipe_1.0.0.bb'

现在我想在我的图像中安装这个版本的食谱。 所以我有另一个像'image.bb'这样的食谱,它安装了类似这样的食谱:'IMAGE_INSTALL +=“我的食谱”。

现在,如果该配方版本不存在,我希望构建失败。 我为此使用 REQUIRED_VERSION,请参阅: https://docs.yoctoproject.org/4.0.6/ref-manual/variables.html?highlight=preferred_version#term-REQUIRED_VERSION

所以我在我的 image.bb 中添加了这样一行:'REQUIRED_VERSION_my-recipe="1.0.0"'

这工作得很好,我可以用这种方式在我的食谱的不同版本之间切换。

现在问题来了:如果我需要一个不存在的配方版本,文档说我会收到一个错误并立即生成错误。 但是相反,我的构建采用了现有的配方,而不是我需要的配方。

这导致了一种不可接受的情况,我的构建构建了我不期望的东西。 现在我想知道,是否有人知道出了什么问题。

我尝试将 REQUIRED_VERSION 用于不同的现有食谱。 -> 按预期工作。

我尝试将 REQUIRED_VERSION 用于不存在的配方。 -> 这没有按预期工作。 我没有构建错误。

由于手册指出 REQUIRED_VERSION “以与 PREFERRED_VERSION 完全相同的方式工作”(除了它会抛出错误),也许尝试使用 forcevariable 覆盖:

REQUIRED_VERSION_my-recipe:forcevariable = "1.0.0"

唔。 如果您尝试在 local.conf 中包含该行而不是 image.bb 文件怎么办? – thelummox 1 月 13 日 16:11

好吧,将它添加到 local.conf 引发了预期的错误。 它甚至打印可用的版本。

这很奇怪,因为根据定义,local.conf 不是我层的一部分,但我可以使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM