[英]bitbake: how to add package depending on MACHINE?
我用bitbake
構建的映像必須包含用於不同機器的不同程序包(例如,我需要將package1
程序包package1
添加到machine1
,而不是machine2
)。
可以添加行
IMAGE_INSTALL_append_machine1 = " package1"
到圖像配方。 但是我認為這是不可持續的,因為IMAGE_INSTALL_append_machine1
可能是在其他配方中定義的(不受我的控制),並且較早的定義會被較新的定義覆蓋。 這是我認為Yocto Project Development手冊警告使用IMAGE_INSTALL的內容 。
我的擔憂有效嗎? 在這種情況下,編寫配方的正確方法是什么?
我相信您正在尋找的功能是base_contains
此函數用於根據第三個變量的定義將變量設置為兩個值之一。
${@base_contains('variable-name', 'value', 'true-result', 'false-result',d)}"
,其中:variable-name這是要檢查的變量的名稱。
value這是比較變量的值。
真結果如果變量等於該值,則此為函數返回的結果。
假結果如果變量不等於該值,則此為函數返回的結果。
還有一件事,您可以使用??=
提供默認值。 ?=
和??=
之間的區別在於,使用??=
,分配直到解析過程結束才發生。
您可以在此處查看圖像配方示例之一
http://www.embeddedlinux.org.cn/OEManual/recipes_advanced_python.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.