bitbake SRC_URI file://

wei picture wei · Jan 7, 2015 · Viewed 33.8k times · Source

If I have a tarball, helloworld.tar.gz in a local directory, say /home/user/tarballs/, how can I make my bitbake recipe fetch from that directory?

my helloworld.bb is

SECTION = "examples"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING; md5=1b1b8016e15e07a2fec59623ebf12345"

SRC_URI = "file://helloworld.tar.gz"

but when I bitbake, I get the below warning message:

WARNING: Unable to get checksum for helloworld SRC_URI entry helloworld.tar.gz: file could not be found

I read something about FILES and FILESEXTRAPATHS can influence the download path but not sure where/how to set them.

I did a bitbake -c show FILESEXTRAPATHS but get an error message:

ERROR: Nothing PROVIDES 'FILESEXTRAPATHS'

Answer

Anders picture Anders · Jan 8, 2015

Well, if you want to fetch from a local directory, use e.g.:

SRC_URI = "file:///home/user/tarballs/helloworld.tar.gz"

The FILES and FILESEXTRAPATHS variables tells bitbake where to find files which are referenced as:

SRC_URI = "file://helloworld.tar.gz"

These files are searched for in the locations specified by those two variables. (Or rather, FILESEXTRAPATHS is searched and then some possible subdirectories of the directories specified in FILESEXTRAPATHS, amongst those the expanded values of DISTRO, MACHINE, ARCH, etc).

FILES (and FILESEXTRAPATHS) are used to find files stored together with the meta-data, i.e. under the paths meta-/recipes-/name/XXX.

See http://www.yoctoproject.org/docs/1.7/mega-manual/mega-manual.html#var-FILES and http://www.yoctoproject.org/docs/1.7/mega-manual/mega-manual.html#var-FILESEXTRAPATHS