使用 yocto/bitbake 时,将文件安装到由不同配方生成的目录中而不会发生冲突的正确方法是什么?

When using yocto/bitbake, what's a correct way to install files in directories generated by a different recipe without conflicts?

在我的系统中,相当多的食谱设置为使用 monit,因此需要在 /etc/monit.d 目录中安装文件 - 通过

install -d ${D}${sysconfdir}/monit.d
install -m 0644 ${WORKDIR}/file_to_install.monit ${D}${sysconfdir}/monit.d/file_to_install.monit

在他们的 do_install() 中。然而,这让 bitbake 抱怨“file /etc/monit.d conflicts between attempted installs of”我的食谱和 monit。

Monit 已经设置为我的食谱的依赖项,所以我想它会被视为具有更高优先级的,但事实并非如此。那么正确的做法是什么?

问题是由于这些文件夹的不同权限。 monit_5.2 配方使用设置为 700 的权限。 不使用 -m 时的默认安装权限为 755

install -m 700 -d ${D}${sysconfdir}/monit.d
install -m 0644 ${WORKDIR}/file_to_install.monit ${D}${sysconfdir}/monit.d/file_to_install.monit