我需要继承图像类(*.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
任何帮助将非常感激。
继承“image”表示do_compile[noexec] = "1"
等等(正如你在image.bblcass文件中看到的那样),这意味着不会执行do_compile任务。这是Yocto为删除任务提供的几种方式之一。