bitbake SRC_URI 文件://

bitbake SRC_URI file://

如果我有一个 tarball,helloworld.tar.gz 在本地目录中,比如说 /home/user/tarballs/,我怎样才能从那个目录中获取我的 bitbake 食谱?

我的 helloworld.bb 是

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

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

但是当我进行 bitbake 时,我收到以下警告消息:

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

我阅读了一些有关 FILES 的内容,FILESEXTRAPATHS 会影响下载路径,但不确定 where/how 是否设置它们。

我执行了 bitbake -c show FILESEXTRAPATHS 但收到一条错误消息:

ERROR: Nothing PROVIDES 'FILESEXTRAPATHS'

好吧,如果您想从本地目录中获取,请使用例如:

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

FILES 和 FILESEXTRAPATHS 变量告诉 bitbake 在哪里可以找到被引用为的文件:

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

在这两个变量指定的位置搜索这些文件。 (或者更确切地说,搜索 FILESEXTRAPATHS,然后搜索 FILESEXTRAPATHS 中指定目录的一些可能的子目录,其中包括 DISTRO、MACHINE、ARCH 等的扩展值)。

FILES(和 FILESEXTRAPATHS)用于查找与元数据一起存储的文件,即在路径 meta-/recipes-/name/XXX 下。

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

最好将文件保存在 present(存在 .bb 文件的位置)目录中,并在 .bb 文件中提供以下行。

FILESEXTRAPATHS_prepend := "${THISDIR}:"
SRC_URI = "file://helloworld.tar.gz"

FILESEXTRAPATHS_prepend:告诉 bitbake 文件存在于 .bb 文件所在的位置。

您也可以按如下方式编辑.bb文件,

FILESEXTRAPATHS_prepend := "path_to_home_folder_of_source_folders:"
SRC_URI = "file://Source_floder/*"

举个例子

FILESEXTRAPATHS_prepend := "/home/username/:"
SRC_URI = "file://tarballs/*"