我们有一台MACHINE用于构建两个目标图像; foo-image和foobar-image。两个映像都使用相同版本的软件包,但我们希望根据构建的映像添加对do_install任务的更改。这样包的配方文件看起来像这样:
do_install (){
//Some work
}
do_install_append_foobar-image(){
//Some foobar work
}
最后,当我们为两张图片进行构建时:
MACHINE=custom bitbake foo-image
MACHINE=custom bitbake foobar-image
foobar的图像将包含已在附加任务中完成工作的已安装包,但foo的图像不会。
有没有办法做我已概述的内容或替代方案?
答案 0 :(得分:2)
不,您无法根据正在构建的图像在配方中执行不同的任务。可能有可能在do_install
中检查图像名称,虽然我非常不确定。
我要做的是:
另一种可能性,取决于您是否可以检测到您构建的图像,是添加post_install
- 脚本,为您进行修改。第三种可能不太好的选择是在ROOTFS_POSTPROCESS_COMMAND
中进行更改。
您选择哪种解决方案取决于您想要的自定义类型。
答案 1 :(得分:1)
我们的构建线将成为:
MACHINE=custom1 bitbake foo-image
MACHINE=custom2 bitbake foobar-image
我们对软件包的安装任务可以是:
do_install (){
//Some work
}
do_install_append_custom2(){
//Some more work
}