如何将python-contextlib添加到python_2.7.3.bbappend



在我的custom-layer/recipes-devtools/python/python_2.7.3.bbappend中,我有以下内容

PROVIDES+="${PN}-contextlib "
PACKAGES+="${PN}-contextlib "
SUMMARY_${PN}-contextlib="Python utilities for with-statementcontexts."
RDEPENDS_${PN}-contextlib="${PN}-core "
FILES_${PN}-contextlib="${libdir}/python2.7/contextlib.* "
RDEPENDS_${PN}-modules+= "${PN}-contextlib "

当我执行bitbake -f python-contextlib时 - 没有任何失败。

当我在另一个配方中添加 python-contextlib 作为 RDEPEND 时,它在执行do_rootfs任务时失败,就像"没有包提供 python-contextlib"一样。

当我构建python时,

当我进入python devshell时,我确实看到了 contextlib.py 存在的文件。因此,似乎正在正确拾取bbappend文件。bitbake-layers show-appends还确认正在拾取 bbappend 文件。

如何解决此问题?

您的第一个 bitbake 失败了,因为 bitbake 采用配方名称,而不是运行时包名称。

如果你真的想将 contextlib 拆分成一个单独的包,那么我只会挑选 27dbacdb88ee3e79f4c95a779d8a7e8c5c8f941d 和 b6b9df15a630605619bff060d5073272685058d6(来自 oe-core(。

这里的问题可能是排序,您将 PN-contextlib 放在清单 inc 获取其他所有内容之后。 使用 PACKAGES =+ 在前面而不是追加。

请注意,contextlib 是在没有这个附加的情况下打包的,很可能是在 python-misc 包中,所以我确实想知道为什么这么多人迫切希望它被拆分出来。

看起来这个人也有类似的问题 - http://permalink.gmane.org/gmane.linux.embedded.yocto.general/21170

我手动验证了这一点。我在python_2.7.3.bb文件的末尾添加了python_2.7.3.bbappend的内容,但不起作用。

然后,我将python_2.7.3.bbappend的内容添加到 python-2.7-manifest.inc 文件的末尾,该文件有效。

最新更新