bbappend 用于替换文件的文件

aa8*_*a86 4 yocto intel-edison

我在 yocto 中创建了一个新层:meta-abc,一个配方:abc-efg_0.1.bb 和一个 .bbapend:abc-efg_01.bbapend 文件。使用 bbappend 文件,我想覆盖来自 intel-edison board 的文件。更准确地说,来自 /etc/wpa_supplicant/ 的 wpa_supplicant.conf。这个 wpa_supplicant.conf 已经从另一个层(meta-intel-edison-distro)创建。我可以在 /etc/ 中写入我的文件,所以我的配方和我的 bbappend 文件正在工作。我可以bitbake我的食谱,但是当我尝试创建图像时,我收到了消息:

" * check_data_file_clashes:包abc-efg要安装文件/home/atr-int/Desktop/Yocto/yocto-edison/build_edison/tmp/work/edison-poky-linux/edison-image/1.0-r0/rootfs/etc /wpa_supplicant/wpa_supplicant.conf 但该文件已由包 * wpa-supplicant * opkg_install_cmd: 无法安装包 abc-etc 提供。”这是我的 bbappend 文件内容:

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

SRC_URI += "file://wpa_supplicant.conf"

do_install_append() {
install -d ${D}${sysconfdir}/wpa_supplicant
install -m 0755 ${WORKDIR}/wpa_supplicant.conf 
    ${D}${sysconfdir}/wpa_supplicant
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以给我任何提示吗?谢谢你。

And*_*ers 5

你不应该wpa_supplicant.conf从另一个配方重写,因为文件会发生冲突。

相反,将您的重命名abc-efg_01.bbapendwpa-supplicant_%.bbappend,它应该可以工作。

如果由于某种原因您需要wpa_supplicant.confin abc-efg,则需要添加一个您需要wpa-supplicant_%.bbappend在其中删除wpa_supplicant.conf.