覆盖 bbappend 中的 do_compile() 功能
Overriding do_compile() functionality in bbappend
我有一个带有 do_compile 函数的 bb 文件,我想在不修改 bb 文件的情况下 override/replace。我想完全改变 do_compile 的内容,并将它的 'new' 执行内容放在一个 bbappend 文件中。
有办法吗?
我尝试了几件事:
在 bbappend 文件中我创建了一个函数 do_compile(),这不会替换原来的也不会被执行
在bbappend文件中我创建了一个函数do_compile_append(),这似乎根本就没有执行过
在bbappend文件中我创建了一个函数do_install_prepend(),它被执行了。然而,这并不理想,因为原来的 do_compile 也被执行了。
如有任何帮助,我们将不胜感激
正如@Nayfe 评论的那样,在 .bbappend
中定义 do_compile()
应该可行。
如果您的 do_compile()
功能没有生效,这可能意味着以下几点:
- 这可能意味着另一个图层优先于您的图层。检查图层的
BBFILE_PRIORITY
变量。一个提示是 运行 bitbake-layers show-overlayed
并检查你的覆盖食谱。
- 在某些情况下,
.bb
文件可能会使用 noexec
指令完全禁用任务。例如 do_compile[noexec] = "1"
完全禁用编译。这主要用于安装脚本或配置文件的食谱。
- 您的图层未在
bblayers.conf
中定义。
我有一个带有 do_compile 函数的 bb 文件,我想在不修改 bb 文件的情况下 override/replace。我想完全改变 do_compile 的内容,并将它的 'new' 执行内容放在一个 bbappend 文件中。
有办法吗?
我尝试了几件事:
在 bbappend 文件中我创建了一个函数 do_compile(),这不会替换原来的也不会被执行
在bbappend文件中我创建了一个函数do_compile_append(),这似乎根本就没有执行过
在bbappend文件中我创建了一个函数do_install_prepend(),它被执行了。然而,这并不理想,因为原来的 do_compile 也被执行了。
如有任何帮助,我们将不胜感激
正如@Nayfe 评论的那样,在 .bbappend
中定义 do_compile()
应该可行。
如果您的 do_compile()
功能没有生效,这可能意味着以下几点:
- 这可能意味着另一个图层优先于您的图层。检查图层的
BBFILE_PRIORITY
变量。一个提示是 运行bitbake-layers show-overlayed
并检查你的覆盖食谱。 - 在某些情况下,
.bb
文件可能会使用noexec
指令完全禁用任务。例如do_compile[noexec] = "1"
完全禁用编译。这主要用于安装脚本或配置文件的食谱。 - 您的图层未在
bblayers.conf
中定义。