我知道我可以使用以下命令获取映像中包含的软件包的列表:
bitbake -g <image> && cat pn-buildlist | grep -ve "native" | sort | uniq
是否有一个bitbake命令来获取特定软件包的描述?也许有一条命令可以获取包装上的所有信息,我可以简单地grep此输出。
干杯!
答案 0 :(得分:1)
这不是bitbake命令,但是有oe-pkgdata-util
实用程序(openembedded-core的一部分)。它适用于OE构建环境(如bitbake)。您可以使用read-value
子命令从构建的软件包(不是配方)中查询值。基本语法为:
oe-pkgdata-util read-value <value> <pkg1> [<pkg2>...]
您可以查询多个软件包,为软件包名称加上前缀等。只需检查:
oe-pkgdata-util read-value --help
以下是您问题的一个示例:
tom@pc:~/oe/build> oe-pkgdata-util read-value DESCRIPTION libc6
The GNU C Library is used as the system C library in most systems with the Linux kernel.
顺便说一句,您可以查询其他变量,例如RDEPENDS
,SUMMARY
等。
请注意,如果未在配方中设置DESCRIPTION
变量,则会使用SUMMARY
变量(see doc)的内容填充。
您的问题还提到获取映像中的软件包列表。我会说有更简单的方法。例如:
${DEPLOY_DIR}/images/${MACHINE}/${IMAGE_BASENAME}-${MACHINE}.manifest
installed-package-names.txt
(如果已启用)。它位于文件夹${BUILDHISTORY_DIR}/images/${MACHINE_ARCH}/${TCLIBC}/${IMAGE_BASENAME}/
中。答案 1 :(得分:0)
仅供参考,并非每个包装都有说明。 我通常阅读食谱,因为它比等待bitbake输出更快。不过,如果您想从bitbake中读取它:
bitbake <recipe> -e | grep ^DESCRIPTION=
说明可以写在配方中,例如here
请注意,您可以使用-e
访问每个变量,这对于调试非常有用。