簡體   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