Re: recipe fails to load local files


Bryan Evenson
 

Lachlan,

I have some recipe changes inline below.

-----Original Message-----
From: peterengcomau001@...
[mailto:peterengcomau001@...]
Sent: Friday, November 14, 2014 3:37 AM
To: Bryan Evenson; peterengcomau001@...;
yocto@...
Subject: RE: [yocto] recipe fails to load local files

Based on your suggestion Bryan, and referring to Section 10 -Glossary of the
ref-manual regarding FILES, I have changed the recipe as follows:
__________________________________________
DESCRIPTION = "Belkin Wifi Firmware"
PR = "1.5"
PR is not the firmware version, it’s the recipe version. Start with "r0". After making this change do a "bitbake -c cleanall zd1211-firmware" to remove the old packages as you would be going backwards for the package.

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_*"

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:

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

Regards,
Bryan

__________________________________________________________
_

I had not seen a reference to the FILES parameter previously. However, this
still does not work.

Refering to :
http://www.embeddedlinux.org.cn/OEManual/recipes_examples.html

I run the follwoing command from my build directory:
$ bitbake -b meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-
firmware_1.5.bb

and I get the following error:
___________________________________________
ERROR: QA Issue: zd1211-firmware: Files/directories were installed but not
shipped
/lib
/lib/firmware
/lib/firmware/zd1211
/lib/firmware/zd1211/zd1211_uphr
/lib/firmware/zd1211/zd1211_ub
/lib/firmware/zd1211/zd1211_uphm
/lib/firmware/zd1211/zd1211_ur
/lib/firmware/zd1211/zd1211_uph
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /home/lachlan/poky/build-
atmel/tmp/work/cortexa5t2hf-vfp-poky-linux-gnueabi/zd1211-
firmware/1.5-1.5/temp/log.do_package.3991
ERROR: Task 10 (/home/lachlan/poky/meta-atmel-lsp/recipes-lsp/zd1211-
firmware/zd1211-firmware_1.5.bb, do_package) failed with exit code '1'
NOTE: Tasks Summary: Attempted 9 tasks of which 6 didn't need to be rerun
and 1 failed.
No currently running tasks (9 of 12)

Summary: 1 task failed:
/home/lachlan/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-
firmware_1.5.bb, do_package
______________________________________________

Note that i also had to address the LICENSE reference as I was getting
LICENSE_CHCKSUM errors

Also note that when I try to build the full image, there is no error but the files
are not present.
In my build directory configuration file I have the reference to my recipe
layer:
/home/lachlan/poky/meta-atmel-lsp \
but although other recipes in this directory are working fine, this recipe
seems to be overlooked. I know that the full image build sees the recipe
because if I comment out the LICENSE reference, the full image build
indicates an error in this regard.

Thanks for any help
Lachlan






----- Original Message -----

From:
"Bryan Evenson" <bevenson@...>

To:
"peterengcomau001@..."
<peterengcomau001@...>, "yocto@..."
<yocto@...>

Cc:

Sent:
Thu, 13 Nov 2014 17:03:07 +0000

Subject:
RE: [yocto] recipe fails to load local files




Lachlan,











If that is your entire recipe, I don’t see any FILES specification:
http://www.yoctoproject.org/docs/1.7/mega-manual/mega-
manual.html#var-FILES <http://www.yoctoproject.org/docs/1.7/mega-
manual/mega-manual.html#var-FILES> . The SRC_URI just says where to get
the source, but the FILES states which files are expected to be added to the
package. I believe the FILES variable is auto-populated by a compiled
package, which is why you may not see the FILES variable in every recipe.
But in your case in which you don’t compile the code but are just installing
files on disk, you need to fill out the FILES variable.











Regards,





Bryan











From: yocto-bounces@... [mailto:yocto-
bounces@...] On Behalf Of
peterengcomau001@...
Sent: Thursday, November 13, 2014 10:21 AM
To: yocto@...
Subject: [yocto] recipe fails to load local files











I am using yocto 1.6.1 and I have a a number of recipes in
~/home/poky/meta-atmel-lsp/recipes-lsp.

I have a lightpdbbappend that loads local files, I have a wpa-
supplicant.bbappend that loads local files, but I am also trying to load some
firmware that should load local files but fails.

In ~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/ I
have the recipe zd1211-firmware_1.55.bb as follows:

_______________________________________
SUMMARY = "Belkin Wifi Firmware"
LICENSE = "GPL"

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 0755 ${WORKDIR}/zd1211_* ${D}/lib/firmware/zd1211/
}
_____________________________________
I sourced these files but not the recipe from:
http://sourceforge.net/projects/zd1211/

The files indicated in the recipe are in :
~/home/poky/meta-atmel-lsp/recipes-lsp/zd1211-firmware/zd1211-
firmware/

When I create the image, no directory is created as
/lib/firmware/zd1211
and also no files are loaded into it.

I have also tried {THISDIR} instead of using {WORKDIR}
I also tried specifying a specific file rather than using the wild card
I have also tried using 'cp' instead of 'install -m 0755'

None seem to work.
I am expecting the firmware files to be located in:
~/poky/build-atmel/tmp/work/sama5d3xek-poky-linux-
gnueabi/atmel-qt5-demo-image/1.0-r0/rootfs/etc/firmware
but they are not.

I originally started with a recipe to load the files directly from the
source, but that did not work. The original recipe used was zd1211-
firmware_1.4.bb from:
https://gitorious.org/opencsbc/openembedded/source/583297ac29
5f1b381019ccecb4ae6abaa69cbc6c:recipes/zd1211

That did not work and now I am extracting the files from the .tar and
trying to load them direct.
Maybe the same problem exists between the original recipe and
loading the .tar files.

Thanks for any help
Lachlan

---- Message sent via Adam Internet WebMail -
http://www.adam.com.au/





---- Message sent via Adam Internet WebMail - http://www.adam.com.au/

Join {yocto@lists.yoctoproject.org to automatically receive all group messages.