Hello,

I am seeing this error in my build:

Configuring aCollected errors:
 * check_data_file_clashes: Package linux-firmware-bcm43430 wants to install file /linaro/mbl/workspace-arm/build-mbl/tmp-mbl-glibc/work/imx7s_warp-oe-linux-gnueabi/mbl-console-image-test/1.0-r0/rootfs/lib/firmware/brcm/brcmfmac43430-sdio.bin
But that file is already provided by package  * firmware-imx
 * check_data_file_clashes: Package linux-firmware-bcm43430 wants to install file /linaro/mbl/workspace-arm/build-mbl/tmp-mbl-glibc/work/imx7s_warp-oe-linux-gnueabi/mbl-console-image-test/1.0-r0/rootfs/lib/firmware/brcm/brcmfmac43430-sdio.txt
But that file is already provided by package  * firmware-imx

In my build, I'm including meta-raspberrypi and meta-freescale-3rdparty in my manifest. These two meta layers include the following two files into the rootfs in various ways:

/lib/firmware/brcm/brcmfmac43430-sdio.txt
/lib/firmware/brcm/brcmfmac43430-sdio.bin

For example, in the following files define a way of adding the firmware into the rootfs (there will be more ways they get into the build, saying as one is a .inc file):

meta-freescale-3rdparty/recipes-bsp/broadcom-nvram-config/broadcom-nvram-config.inc
meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
openembedded-core/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb

My meta-layer is included after meta-freescale* and meta-raspberrypi, but before openembedded-core/meta in my BBLAYERS setup.

However, I want to provide a newer version of these two files in my build. So we created this recipe in our meta layer:

file: recipes-bsp/firmware-imx/firmware-imx_%.bbappend
--------------------------------------------------------------------------------------
SRCREV_linuxfirmware = "a61ac5cf8374edbfe692d12f805a1b194f7fead2"
SRCREV_recalboxbuildroot = "f648e4b54eb5e4be593746d6cc51375b22a7efbd"

SRC_URI += "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git;branch=${SRCBRANCH};destsuffix=${S}/git1;name=linuxfirmware \
git://github.com/recalbox/recalbox-buildroot.git;protocol=https;branch=${SRCBRANCH};destsuffix=${S}/git2;name=recalboxbuildroot "
LIC_FILES_CHKSUM += "file://git1/LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
                    file://git2/COPYING;md5=e4edbc78b8892db416b6a07e0d97309a "

do_install_append() {
    install -d ${D}${base_libdir}/firmware
    install -d ${D}${base_libdir}/firmware/brcm

    cp -rfv git1/brcm/brcmfmac43430-sdio.bin ${D}${base_libdir}/firmware/brcm
    cp -rfv git2/board/warp7/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt ${D}${base_libdir}/firmware/brcm
}

FILES_${PN} += "${base_libdir}/firmware/brcm/brcmfmac43430*"

COMPATIBLE_MACHINE = "(imx7s-warp)"
--------------------------------------------------------------------------------------

It builds fine in a "normal" configuration. However, in a "test" build, where "dev-pkgs" is added to IMAGE_FEATURES, I get the error as above.

So how do I work around this issue? Am I doing the wrong thing by providing a bbappend to overlay these files?

Any advice appreciated.

Regards,
Ryan.