在Yocto中,如何将包a的版本限制指定为包B的当前版本?

在Yocto中,如何将包a的版本限制指定为包B的当前版本?,yocto,bitbake,Yocto,Bitbake,我希望能够通过安装由Yocto创建的包来更新我的系统,而不是安装由它创建的整个映像。目标是在不影响系统配置的情况下更新某些软件。但是,我希望避免在不更新其他运行时依赖项的情况下更新包,这些依赖项已更改,以避免使系统处于不一致的状态 到目前为止,我一直遵循的方法是对包设置版本限制。假设我有一个包含recipes a.bb和B.bb的层,用于创建包a和包B。我使用a.bb上的RDEPENDS将包B设置为包a的依赖项,如下所示: RDEPENDS_${PN} = " B (= hard-coded-c

我希望能够通过安装由Yocto创建的包来更新我的系统,而不是安装由它创建的整个映像。目标是在不影响系统配置的情况下更新某些软件。但是,我希望避免在不更新其他运行时依赖项的情况下更新包,这些依赖项已更改,以避免使系统处于不一致的状态

到目前为止,我一直遵循的方法是对包设置版本限制。假设我有一个包含recipes a.bb和B.bb的层,用于创建包a和包B。我使用a.bb上的RDEPENDS将包B设置为包a的依赖项,如下所示:

RDEPENDS_${PN} = " B (= hard-coded-current-version)"
其中,
硬编码当前版本
类似于
1.1-r1
。但是,我想要的是:

RDEPENDS_${PN} = " B (= parametric-current-version)"
其中,
参数化当前版本
类似于
${PE_B}.${PV_B}-${PR_B}


如何将程序包a的版本限制指定为程序包B的当前版本?

版本限制是否意味着程序包a有多个版本?您可以在发行版或计算机配置端使用'PREFERRED_VERSION_A=“1.1-r1”`。例如,包A可以更新为r2,而包B不会更改。因此,只需要有一个包进行更新。但是,如果更新了包A和包B,我无法在不更新包B的情况下更新包A。包A将有多个版本,但我希望将它们中的每一个版本与包B的特定版本一起使用以声明兼容性。所以,我想首选版本将不适用。感谢您为我提供首选版本变量。有关首选版本变量的更多信息和示例,请访问此链接。如前所述,
您可以使用%字符作为通配符来匹配任意数量的字符,这在指定包含可能更改的长修订号的版本时非常有用。