簡體   English   中英

bitbake:如何根據MACHINE添加軟件包?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM