This service is available only in Japanese-language.

だめなsstate-cacheを作成するレシピの特定について

例えばWORKDIRの外側のファイルを参照したりされてしまうと正しくないsignatureをもつsstate-cacheができてしまいますが、
そういったsstate-cacheに被害をもたらすようなレシピの記述を後から探すには、
人の目や手で、レシピやbitabke-dumpsigの結果を一つ一つチェックしていくほかないでしょうか?

sstateによくない例として思いつくもの:
1. タスクの中で変数名を合成して使っている
python do_valname_test () {
key = 'VIORATE' + '_' + 'REF'
d.getVar(key, True)
bb.warn('{}'.format(key))
}
2. WORKDIRの外側を見ている。(TOPDIRはビルドディレクトリ)
do_install() {
cp ${TOPDIR}/foo > ${D}/usr/include/foo
}

1. については do_valname_test [vardeps] に変数名を列挙すればいけそうですが、
2. についてはどうやれば依存関係に含めることができますか?

ほかにもよくこんなケースでよくないsstate-cacheを作られるというのがあれば情報ほしいです。

Yocto4.0からpokyで配布されれるレシピに関して、完全な構築の再現性(Reproducibility)が確認済となっています。
毎回のリリースで追加や変更となったレシピで再現性の問題が発生したレシピの解決方法を探ることができます。
https://git.yoctoproject.org/poky/log/?qt=grep&q=Reproducibility

buildの再現性を損ねるレシピの修正が最近commitされていました。
https://git.yoctoproject.org/poky/commit/?id=1628054eca82f3441cc119a8f74...

ソースコード内に追加するファイルを、SRC_URI変数でファイルの形で指定した場合、$WORDIR以下にコピーを行うと
コピー実行時のタイムスタンプとなって構築の再現性を妨げていた問題をpatchファイル化することで、構築の再現性を確保した例となります。