我需要继承图像类(*.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
任何帮助将不胜感激。
答案 0 :(得分:2)
继承“图像”状态为do_compile[noexec] = "1"
(如您在image.bblcass文件中所看到的),这意味着不会执行do_compile任务。这是Yocto提供的删除任务的几种方法之一。