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

h0c*_*355 2 bitbake yocto

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

我要创建的伪代码:

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

Pat*_*hly 5

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

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


Pet*_*aft 5

可以在不同的日志级别上使用 python 以及 shell 脚本代码进行输出 对于在 python 中的使用,有:

  • bb.致命的
  • bb.错误
  • bb.警告
  • bb笔记
  • bb 平原
  • bb.调试

对于 shell 脚本中的使用,有:

  • BB致命
  • BB错误
  • BB警告
  • BB笔记
  • BB平原
  • 调试程序

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

bbfatal "something went terribly wrong!"
Run Code Online (Sandbox Code Playgroud)