Build 获取当前从BitBake生成的包的版本

Build 获取当前从BitBake生成的包的版本,build,yocto,bitbake,Build,Yocto,Bitbake,我有一个YoctoPoky构建,有几个标准层,然后是我们软件的一些层。随着该软件的开发,版本会自动升级,因此build/tmp/deploy/tar很快就包含了一些软件包的许多版本;说app-8.9.2-r0.tar.gz,app-8.9.8-r0.tar.gz,app-8.9.13-r0.tar.gz和app-8.10.1-r0.tar.gz 我想挑出所有这些都是当前构建的一部分。当生成服务器生成具有较新版本的分支,然后生成尚未具有该版本的主版本时,其编号可能不是最高的 现在棘手的是,我需要的

我有一个YoctoPoky构建,有几个标准层,然后是我们软件的一些层。随着该软件的开发,版本会自动升级,因此
build/tmp/deploy/tar
很快就包含了一些软件包的许多版本;说
app-8.9.2-r0.tar.gz
app-8.9.8-r0.tar.gz
app-8.9.13-r0.tar.gz
app-8.10.1-r0.tar.gz

我想挑出所有这些都是当前构建的一部分。当生成服务器生成具有较新版本的分支,然后生成尚未具有该版本的主版本时,其编号可能不是最高的

现在棘手的是,我需要的是软件包版本,而不是配方版本,原因有两个:

  • 即使软件包总是使用配方版本,对于许多软件包,我仍然无法立即知道它们是由哪个配方构建的
  • 但主要是包版本与配方版本不同。这些配方计算版本,bitbake试图过早地使用
    ${PV}
    ,因此他们实际上设置了
    PV=“0.0.1”
    ,然后将
    PKGV
    设置为计算版本

但是
bitbake-g
没有给出任何版本,
bitbake-s
只给出配方版本(
PV
),我需要软件包版本(
PKGV
)。是否有其他地方或其他方式获得版本?

我想指出的是,我认为我们并没有按照预期的方式使用它,但多年来它一直是这样使用的,团队分散到支持不同客户的子团队,因此现在真的不可能更改。我不确定,但您可以检查清单文件()我非常确定buildhistory可以帮助您实现这一点,尽管它可能只会给您映像中安装的包。c、 f.实际上,pkgdata似乎始终存在并包含信息。从那里获取版本也应该很简单。依赖信息看起来有点难处理,但也应该是可行的。我不知道是否有一个库或命令来帮助它。我要指出的是,我认为我们并没有按照预期的方式使用它,但它已经像这样使用了很多年,团队分散到支持不同客户的子团队,所以现在真的不可能改变。我不确定,但是你可以检查你的清单文件(),我很确定buildhistory可以帮助你,尽管它可能只会给你安装在映像中的包。c、 f.实际上,pkgdata似乎始终存在并包含信息。从那里获取版本也应该很简单。依赖信息看起来有点难处理,但也应该是可行的。我不知道是否有一个库或命令来帮助它。