do_unpack
以将与.bbappend文件从相同目录复制到工作目录的目录中的文件中:当内部${WORKDIR}
do_unpack_append
,
${THISDIR}
原始.bb食谱的目录,而不是.bbappend目录
这里是一个例子:原始食谱位于:Meta-origlayer/confipe.bb
`FILESEXTRAPATHS_prepend := "${THISDIR}:"`
do_unpack_append(){
bb.build.exec_func('replace_file', d)
}
replace_file(){
cp -f ${THISDIR}/fileToBeReplaced ${WORKDIR}/fileToBeReplaced
echo ${THISDIR} > ${WORKDIR}/shouldContain_meta-newLayer
}
i我期望文件shouldcontain_meta-newlayer将包含
meta-newLayer
,但它包含
meta-origLayer
.
。 我主要喜欢理解为什么将其放置在内部时的行为与用于预先准备的${THISDIR}
运行BitBake时,食谱失败,产生以下错误:
发生错误是因为filetoberephaced
居住在
do_unpack_append()
的子目录中(即我认为Meta-Newlayer/filetobereplaced的最佳方法是什么?在同一.bbbappend中始终如一地行为,但似乎并非如此。 从内部参考
FILESEXTRAPATHS
meta-origLayer
运算符在
${THISDIR}
文件的分析过程中立即扩展do_unpack_append()
变量。
this *.bbappend在解开任务期间正确覆盖工作目录中的THISDIR
.bbappend
Johannes-schaub-ltb