[yocto] recipe fails to load local files

Anders Darander anders at chargestorm.se
Fri Nov 14 06:44:24 PST 2014


Just a few nitpick's...

* Bryan Evenson <bevenson at melinkcorp.com> [141114 15:21]:

> > LICENSE = "CLOSED"
> > FILES_${PN} += "~/poky/meta-atmel-lsp/recipes-lsp/zd1211-
> > firmware/zd1211-firmware"

> FILES doesn't specify where to find the files on the build machine, it
> specifies where the installed files exist on the target filesystem.
> This is what the error you are seeing is telling you; the files were
> installed in the do_install step but they did not get placed in the
> final package.  In your case I believe:

> FILES_${PN} += "${libdir}/zd1211_*"

FILES_${PN} += "/lib/firmware/zd1211"

> would work.

> > SRC_URI = "\
> >   file://zd1211_ub \
> >   file://zd1211_uph \
> >   file://zd1211_uphm \
> >   file://zd1211_uphr \
> >   file://zd1211_ur \
> > "

> > do_install() {
> >         install -d ${D}/lib/firmware/zd1211
> >     install -m 0555 ${WORKDIR}/zd1211_*    ${D}/lib/firmware/zd1211/
> > }

> As mentioned in the FILES variable description in the Yocto manual,
> you should use the standard path variables whenever possible.  The
> list of available path variables are near the top of
> meta/conf/bitbake.conf.  That means in your case the following would
> be better:

Well, in general that's true. Though, in this specific case, it should
actually be a hardcoded /lib/firmware. ${libdir} could be lib64 or
something else, especially in a multilib-build. However, the firmware
files are always searched for in /lib/firmware.

Cheers,
Anders

>  do_install() {
>          install -d ${D}/${libdir}/firmware/zd1211
>      install -m 0555 ${WORKDIR}/zd1211_*    ${D}/${libdir}/firmware/zd1211/

-- 
Anders Darander
ChargeStorm AB / eStorm AB



More information about the yocto mailing list