Yocto中继承图像类时未调用do_compile

时间:2019-04-16 11:39:16

标签: yocto bitbake

我需要继承图像类(*.bbclass)并从图像配方运行脚本,但是我的do_compile没有得到调用。

为简单起见,我在这里从poky来源提供了最少的示例代码,该代码可以完成我想要的事情。

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

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

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

inherit image

do_compile () {
    echo MyRecipe
}

设置bitbake inherit-test后通过oe-init-build-env编译此配方时,由于工作目录do_compile中没有日志文件,所以我看不到poky/build/tmp/work/qemux86-poky-linux/inherit-test/0.1-r0/temp/log.do_compile被编译与行MyRecipe

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

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

继承“图像”状态为do_compile[noexec] = "1"(如您在image.bblcass文件中所看到的),这意味着不会执行do_compile任务。这是Yocto提供的删除任务的几种方法之一。