如何在带有条件的bitbake文件中包含依赖行?我想要下面的东西:
if (some env varible)
DEPENDS += "recipe-1"
else
DEPENDS += "recipe-2'
Run Code Online (Sandbox Code Playgroud)
我在.bb文件中尝试过:
DEPENDS += "${@ 'recipe-2' if '${ENV_VAR}' else 'recipe-1'}"
Run Code Online (Sandbox Code Playgroud)
在此之前,我将ENV_VAR导出到BB_ENV_EXTRAWHITE
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE ENV_VAR"
Run Code Online (Sandbox Code Playgroud)
仅在设置ENV_VAR时才有效:
env ENV_VAR="value" bitbake test-recipe
Run Code Online (Sandbox Code Playgroud)
如果未设置ENV_VAR,则在解析bitbake DEPENDS行时会抛出错误
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)
Run Code Online (Sandbox Code Playgroud)
小智 8
尝试:
DEPENDS += "${@ 'recipe-2' if d.getVar('ENV_VAR') else 'recipe-1'}"
Run Code Online (Sandbox Code Playgroud)
原因是它${ENV_VAR}扩展到变量的值.如果未设置,则不会扩展并触发您看到的错误.通过使用,getVar您可以获得python表达式的其余部分可以处理的结果None或值.
请注意,有一些建议的更改可能会改善行为,使人们可以更容易理解和理解,但上述情况无论如何都会继续有效.
| 归档时间: |
|
| 查看次数: |
4788 次 |
| 最近记录: |