0

一些 image-.bb 文件中包含的一个 .inc 文件定义了 Bitbake 任务的 shell 函数。

让我们在这里只关注这个 shell 函数,分配的 Bitbake 任务超出了范围。

我想知道如何在 .bbappend 文件(其他层)中取消定义这个 shell 函数。

unset -f <shell-function-name>

不管用

ERROR: ParseError at .......-image.bbappend:89: unparsed line: 'unset -f do_thisandthat'

是否需要明确表示 Bitbake “unset -f < shell-function-name>”是一个 shell 脚本?

我咨询了这个问题 Bitbake 手册和 Yocto 项目参考手册,结果为零。

4

1 回答 1

0

它没有直接的 API,但是您可以执行以下操作:

python () {
    d.delVar("shell function name")
}

这将删除 shell 函数,因为函数只是变量。

只是删除一个函数很可能会导致其他问题,但这确实回答了您的具体问题。

这是一个“匿名 python”片段,将在解析配方(或 bbappend 到配方)结束时由 bitbake 执行。

于 2018-03-10T17:43:37.437 回答