bitbake条件包含depends语句

时间:2016-02-08 11:25:40

标签: python bitbake

如何在带有条件的bitbake文件中包含依赖行? 我想要下面的东西:

DEPENDS += "${@ 'recipe-2' if '${ENV_VAR}' else 'recipe-1'}"

我在.bb文件中尝试过:

export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE ENV_VAR"

在此之前我将ENV_VAR导出到BB_ENV_EXTRAWHITE

env ENV_VAR="value" bitbake test-recipe

仅在设置ENV_VAR时才有效:

ExpansionError: Failure expanding variable DEPENDS, expression was
${@ 'recipe-2' if '${ENV_VAR}' else 'recipe-1'}  
which triggered exception SyntaxError: EOL while scanning string literal (DEPENDS, line 1)

如果未设置ENV_VAR,则在解析bitbake DEPENDS行时抛出错误

{{1}}

1 个答案:

答案 0 :(得分:8)

尝试:

DEPENDS += "${@ 'recipe-2' if d.getVar('ENV_VAR') else 'recipe-1'}"

原因是${ENV_VAR}扩展到变量的值。如果未设置,则不会扩展并触发您看到的错误。通过使用getVar,您可以获得python表达式的其余部分可以处理None或值的结果。

请注意,有一些建议的更改可能会改善行为,使人们可以更容易理解和理解,但无论如何,上述内容将继续有效。