如何在 BitBake 中故意生成解析错误?

How can I generate a Parsing Error in BitBake on intent?

我在 BitBake 配方中使用匿名 Python 函数在解析期间设置变量。 现在我想知道是否可以检查是否设置了特定变量。如果没有,那么我想生成一个 BitBake 错误,它会停止构建过程。

我要创建的伪代码:

python __anonymous () {
    if d.getVar('MY_VARIABLE', True) == "":
        <BITBAKE ERROR with custom message "MY_VARIABLE not found">
}

您可以调用 bb.fatal("MY_VARIABLE not set"),它将打印该错误并通过抛出异常中止构建。

当变量未设置时请注意 d.getVar() returns None。如果这是您的默认值,您只会得到空字符串。

输出可以在不同的日志级别和 python 以及 shell 脚本代码 python 中的用法有:

  • bb.fatal
  • bb.error
  • bb.warn
  • bb.note
  • bb.plain
  • bb.debug

shell 脚本中的用法有:

  • bb致命
  • 错误
  • bbwarn
  • bbnote
  • bbplain
  • bbdebug

例如,如果您想在食谱的 do_install_append 函数中抛出错误:

bbfatal "something went terribly wrong!"