ローカルディレクトリ(たとえば、/ home/user/tarballs /)にtarball、helloworld.tar.gzがある場合、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'
まあ、ローカルディレクトリからフェッチしたい場合は、例えば:
SRC_URI = "file:///home/user/tarballs/helloworld.tar.gz"
FILESおよびFILESEXTRAPATHS変数は、次のように参照されるファイルを見つける場所をbitbakeに指示します。
SRC_URI = "file://helloworld.tar.gz"
これらのファイルは、これらの2つの変数で指定された場所で検索されます。 (または、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
ファイルを現在の場所(.bbファイルが存在する場所)に保存し、.bbファイルに以下の行を追加することをお勧めします。
FILESEXTRAPATHS_prepend := "${THISDIR}:"
SRC_URI = "file://helloworld.tar.gz"
FILESEXTRAPATHS_prepend:.bbファイルが存在する場所にファイルが存在することをビットベイクするように指示します。
また、次のように.bbファイルを編集できます。
FILESEXTRAPATHS_prepend := "path_to_home_folder_of_source_folders:"
SRC_URI = "file://Source_floder/*"
例として
FILESEXTRAPATHS_prepend := "/home/username/:"
SRC_URI = "file://tarballs/*"