2017-09-06 14 views
1

マニュアルを読んだ後でも、FILES _ $ {PN}を理解するのに手間がかかります。例えば、私はthis example起動スクリプトを作っていました。似たようなことを書いた後、私はこれらのエラーメッセージを受け取りました。それらを解凍する場所を

ERROR: initscriptd-1.0-r0 do_package: QA Issue: initscriptd: Files/directories were installed but not shipped in any package: 
    /usr 
    /usr/sbin 
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. 
initscriptd: 2 installed and not shipped files. [installed-vs-shipped] 
ERROR: initscriptd-1.0-r0 do_package: Fatal QA errors found, failing task. 
ERROR: initscriptd-1.0-r0 do_package: Function failed: do_package 
ERROR: Logfile of failure stored in: /home/yahia/Desktop/elinux_dev/bake_factory/poky-pyro-17.0.1/build/tmp/work/core2-64-poky-linux/initscriptd/1.0-r0/temp/log.do_package.5252 
ERROR: Task (/home/yahia/Desktop/elinux_dev/bake_factory/poky-pyro-17.0.1/meta-mylayer/recipes-core/mylayer-initscript/initscriptd.bb:do_package) failed with exit code '1' 

と私は理解されるように、私はレシピを提供するファイルがイメージにインストールすることを一定のパッケージ内にパッケージされていませんので、yoctoを知ることができない、私は修正するのですか?

私はFILES _ $ {PN} + = "レシピファイルをインストールするすべてのディレクトリパス"を追加しました。それはうまくいった。

だから、なぜ私はこれを行う必要があるのですか?いつ?一貫性のある例が提供されていれば役に立ちます。

答えて

3

レシピは複数のパッケージを作成できます(通常は作成します)。システムが完全にばかげているわけではないので、すべてのヘッダーは自動的に-devパッケージに入り、すべての文書は-docに入りますが、レシピ作成者は特定のファイルがどのパッケージに属しているかを判断する必要があります。これはFILES_<packagename> += "/path/to/file"形式で行われます。

FILES_の*のデフォルト値はmeta/conf/bitbake.confで見つかりましたが、あなたのレシピを継承したクラスでも値を変更する可能性があることに注意することができます:プロジェクトのビルドシステムは、いくつかを作成したようbitbake -e <recipe>|grep ^FILES_

で最終的な値を確認するあなたのケースでは、それが見えますディレクトリには何も入れていませんでしたか?その場合は、ビルドシステムを変更しないでください。または、インストール後に空のディレクトリを削除するdo_install_append()関数を追加してください。

関連する問題