bitbake 有条件地包含 depends 语句
bitbake conditional inclusion of depends statement
如何在带有条件的 bitbake 文件中包含依赖行?
我想要如下内容:
if (some env varible)
DEPENDS += "recipe-1"
else
DEPENDS += "recipe-2'
我在 .bb 文件中试过以下:
DEPENDS += "${@ 'recipe-2' if '${ENV_VAR}' else 'recipe-1'}"
之前我将 ENV_VAR 导出到 BB_ENV_EXTRAWHITE
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE ENV_VAR"
这仅在设置 ENV_VAR 时有效:
env ENV_VAR="value" bitbake test-recipe
如果未设置 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)
尝试:
DEPENDS += "${@ 'recipe-2' if d.getVar('ENV_VAR') else 'recipe-1'}"
原因是 ${ENV_VAR}
被扩展为变量的值。如果未设置,则不会展开并触发您看到的错误。通过使用 getVar
你会得到一个结果,python 表达式的其余部分可以处理 None
或一个值。
请注意,有一些提议的更改可能会改进行为,使它更容易被人们使用和理解,但无论如何上述内容都会继续工作。
假设您有食谱,recipe-main 和 recipe-test,根据 USE_TEST_RECIPE
0
或 1
的值,您可以执行以下操作
DEPENDS_append += "${@base_conditional('USE_TEST_RECIPE', '1', 'recipe-test', 'recipe-main', d)}"
如何在带有条件的 bitbake 文件中包含依赖行? 我想要如下内容:
if (some env varible)
DEPENDS += "recipe-1"
else
DEPENDS += "recipe-2'
我在 .bb 文件中试过以下:
DEPENDS += "${@ 'recipe-2' if '${ENV_VAR}' else 'recipe-1'}"
之前我将 ENV_VAR 导出到 BB_ENV_EXTRAWHITE
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE ENV_VAR"
这仅在设置 ENV_VAR 时有效:
env ENV_VAR="value" bitbake test-recipe
如果未设置 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)
尝试:
DEPENDS += "${@ 'recipe-2' if d.getVar('ENV_VAR') else 'recipe-1'}"
原因是 ${ENV_VAR}
被扩展为变量的值。如果未设置,则不会展开并触发您看到的错误。通过使用 getVar
你会得到一个结果,python 表达式的其余部分可以处理 None
或一个值。
请注意,有一些提议的更改可能会改进行为,使它更容易被人们使用和理解,但无论如何上述内容都会继续工作。
假设您有食谱,recipe-main 和 recipe-test,根据 USE_TEST_RECIPE
0
或 1
的值,您可以执行以下操作
DEPENDS_append += "${@base_conditional('USE_TEST_RECIPE', '1', 'recipe-test', 'recipe-main', d)}"