On 29 November 2017 at 14:32, Ryan Harkin <ryan.harkin@linaro.org> wrote:
Hi all,

An update for those interested:

brcmfmac43430-sdio.bin is provided by:
openembedded-core/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb:530:

Sorry, my mistake. This is also provided by meta-raspberrypi.
 

brcmfmac43430-sdio.txt is provided by:
recipes-kernel/linux-firmware/.linux-firmware_%.bbappend.swp

So I renamed my bbappend to match the file in meta-raspberry-pi. And these are the contents:

--------------------------------------------------------------------------------
SRCREV_linuxfirmware = "a61ac5cf8374edbfe692d12f805a1b194f7fead2"
SRCREV_recalboxbuildroot = "f648e4b54eb5e4be593746d6cc51375b22a7efbd"

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}-bcm43430 += " \
    ${base_libdir}/firmware/brcm/brcmfmac43430-sdio.bin \
    ${base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \
    "
--------------------------------------------------------------------------------

But that errors out with this garbles mess:

--------------------------------------------------------------------------------
ERROR: ExpansionError during parsing /linaro/mbl/workspace-arm/build-mbl/conf/../../layers/openembedded-core/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
Traceback (most recent call last):
  File "/linaro/mbl/workspace-arm/bitbake/lib/bb/data_smart.py", line 412, in DataSmart.expandWithRefs(s='0.0+git${SRCPV}', varname='PV'):
                 try:
    >                s = __expand_var_regexp__.sub(varparse.var_sub, s)
                     try:
  File "/linaro/mbl/workspace-arm/bitbake/lib/bb/data_smart.py", line 111, in VariableParse.var_sub(match=<_sre.SRE_Match object; span=(7, 15), match='${SRCPV}'>):
                 else:
    >                var = self.d.getVarFlag(key, "_content")
                 self.references.add(key)
  File "/linaro/mbl/workspace-arm/bitbake/lib/bb/data_smart.py", line 794, in DataSmart.getVarFlag(var='SRCPV', flag='_content', expand=True, noweakdefault=False, parsing=False):
                     cachename = var + "[" + flag + "]"
    >            value = self.expand(value, cachename)
     
  File "/linaro/mbl/workspace-arm/bitbake/lib/bb/data_smart.py", line 436, in DataSmart.expand(s='${@bb.fetch2.get_srcrev(d)}', varname='SRCPV'):
         def expand(self, s, varname = None):
    >        return self.expandWithRefs(s, varname).value
     
  File "/linaro/mbl/workspace-arm/bitbake/lib/bb/data_smart.py", line 426, in DataSmart.expandWithRefs(s='${@bb.fetch2.get_srcrev(d)}', varname='SRCPV'):
                 except Exception as exc:
    >                raise ExpansionError(varname, s, exc) from exc
     
bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception RecursionError: maximum recursion depth exceeded
--------------------------------------------------------------------------------

I'm guessing t's really not happy about me providing a git repo and messing up its refs.

So, just to test things, I hacked my recipe to match the RPi one and copied the files I want locally into a "files" subdir. My recipe now looks like this:

--------------------------------------------------------------------------------
SRC_URI += " \
file://brcmfmac43430-sdio.bin \
file://brcmfmac43430-sdio.txt \
"
do_install_append() {
    install -d ${D}${base_libdir}/firmware
    install -d ${D}${base_libdir}/firmware/brcm

    install -m 0644 $_firmware ${WORKDIR}/brcmfmac43430-sdio.bin ${D}${base_libdir}/firmware/brcm
    install -m 0644 $_firmware ${WORKDIR}/brcmfmac43430-sdio.txt ${D}${base_libdir}/firmware/brcm
}

FILES_${PN}-bcm43430 += " \
    ${base_libdir}/firmware/brcm/brcmfmac43430-sdio.bin \
    ${base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \
    "
--------------------------------------------------------------------------------

It gives me this warning from meta-raspberrypi's linux-firmware_%.bbappend:

WARNING: linux-firmware-1_0.0+gitAUTOINC+bf04291309-r0 do_install: linux-firmware stopped providing brcmfmac43430 v7.45.41.26.

... but otherwise, it build. However, I still end up with the files from meta-raspberrypi in the build. So I guess that was a pointless exercise.

Cheers.,
Ryan.






On 29 November 2017 at 09:07, Koen Kooi <koen.kooi@linaro.org> wrote:
>
> Op 29 nov. 2017, om 09:56 heeft Ryan Harkin <ryan.harkin@linaro.org> het volgende geschreven:

[..]

> The error implies that instead of overlaying "firmware-imx", I should be overlaying "linux-firmware-bcm43430" , but I can't find a package of that name in my workspace. But I suspect that the package name in the error comes from the FILES_${PN}-bcm43430 entry in another bbappend.

It is most likely a subpackage of the linux-firmare recipe.

regards,

Koen