如何在带有条件的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}}
答案 0 :(得分:8)
尝试:
DEPENDS += "${@ 'recipe-2' if d.getVar('ENV_VAR') else 'recipe-1'}"
原因是${ENV_VAR}
扩展到变量的值。如果未设置,则不会扩展并触发您看到的错误。通过使用getVar
,您可以获得python表达式的其余部分可以处理None
或值的结果。
请注意,有一些建议的更改可能会改善行为,使人们可以更容易理解和理解,但无论如何,上述内容将继续有效。