如果我在本地目录中有一个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"
但是当我咬嘴时,我收到以下警告信息:
WARNING: Unable to get checksum for helloworld SRC_URI entry helloworld.tar.gz: file could not be found
我读过有关FILES的内容,FILESEXTRAPATHS会影响下载路径,但不确定在何处/如何设置它们。
我做了一个bitbake -c show FILESEXTRAPATHS但收到错误信息:
ERROR: Nothing PROVIDES 'FILESEXTRAPATHS'
答案 0 :(得分:14)
好吧,如果你想从本地目录中获取,请使用例如:
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和http://www.yoctoproject.org/docs/1.7/mega-manual/mega-manual.html#var-FILESEXTRAPATHS
答案 1 :(得分:3)
最好是将文件保存在当前(.bb文件存在的位置)目录中,并在.bb文件中给出以下行。
FILESEXTRAPATHS_prepend := "${THISDIR}:"
SRC_URI = "file://helloworld.tar.gz"
FILESEXTRAPATHS_prepend:告诉bitbake文件存在于.bb文件所在的位置。
答案 2 :(得分:1)
您还可以如下编辑.bb文件,
FILESEXTRAPATHS_prepend := "path_to_home_folder_of_source_folders:"
SRC_URI = "file://Source_floder/*"
作为示例
FILESEXTRAPATHS_prepend := "/home/username/:"
SRC_URI = "file://tarballs/*"