在 Yocto 中继承图像 class 时,不会调用 do_compile

do_compile is not getting called when an image class is inherited in Yocto

我需要继承图像 class( *.bbclass ) 和 运行 来自图像配方的脚本,但我的 do_compile 没有被调用。

为简单起见,我在此处提供了来自 poky 源代码的最小示例代码,它与我想要的类似。

我在自己创建的图层 meta-raxy 下创建了一个名为 inherit-test_0.1.bb 的测试配方。

这是inherit-test_0.1.bb配方文件,

SUMMARY = "Inherit Test Application"
LICENSE = "CLOSED"

inherit image

do_compile () {
    echo MyRecipe
}

当我在设置 oe-init-build-env 后通过 bitbake inherit-test 编译这个食谱时,我没有看到我的 do_compile 被编译,因为工作目录 [=23] 中没有日志文件=] 行 MyRecipe

如果我删除 inherit image,我会在日志文件中看到 do_compile 的编译如下所示,

DEBUG: Executing shell function do_compile
MyRecipe
DEBUG: Shell function do_compile finished

任何帮助将不胜感激。

继承 "image" 声明 do_compile[noexec] = "1" 等(如您在 image.bblcass 文件中所见),这意味着 do_compile 任务将不会执行.这是 Yocto 提供的几种删除任务的方法之一。