我经常与 Yocto 项目合作,一个常见的挑战是确定文件为何(或来自什么配方)包含在 rootfs 中。这有望从构建系统的环境、日志和元数据中得出。理想情况下,一组命令将允许将文件链接回源(即配方)。
我通常的策略是对元数据执行搜索(例如grep -R filename ../layers/*
)并在互联网上搜索所述文件名以查找可能的负责任食谱的线索。然而,这并不总是很有效。在许多情况下,配方中没有明确说明文件名。此外,在许多情况下,文件名是由多个配方提供的,这导致需要进行额外的工作来查找最终提供该文件名的配方。当然,还有许多其他线索可以找到答案。无论如何,当构建系统似乎应该有足够的信息来使解决问题变得简单时,这种调查通常是相当费力的。
这是确切的用例oe-pkgdata-util
脚本及其子命令find-path
。该脚本是 openembedded-core 的一部分。
请参阅此示例(在 OE 构建环境中执行,即bitbake
works):
tom@pc:~/oe/build> oe-pkgdata-util find-path /lib/ld-2.24.so
glibc: /lib/ld-2.24.so
你可以清楚地看到这个库属于glibc Recipe。
oe-pkgdata-util
有更多有用的子命令来查看有关包和配方的信息,值得检查--help
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)