如何创建机器“组”以用于特定于机器的覆盖?

问题描述 投票:0回答:1

假设我在 BSP 层的 conf/machine 目录中定义了多个自定义机器。

在编写食谱时,有时我会使用特定于机器的覆盖,例如:

SRC_URI = "file://default.cfg"
SRC_URI:foo-machine = "file://special.cfg"
SRC_URI:bar-machine = "file://special.cfg"

有没有一种方法可以定义机器的“组”或“子集”,以便我的覆盖可以引用该组,然后我可以轻松地向该虚拟组添加或删除某些机器,而无需更新所有配方?

我正在使用“kirkstone”版本分支。

yocto yocto-recipe
1个回答
0
投票

在我看来,您应该创建一个自定义类来设置组成员身份的变量,然后在覆盖中使用此变量。像这样:

GROUPED_MACHINES = "foo-machine bar-machine"
SRC_URI = "file://default.cfg"
SRC_URI:append:pn-recipe-name:do_${@'true' if d.getVar('MACHINE') in (d.getVar('GROUPED_MACHINES') or '').split() else 'false'} = " file://special.cfg"

让我知道进展如何。

© www.soinside.com 2019 - 2024. All rights reserved.