Yocto 版本控制

13

我们正在为应用程序RFS、Uboot和内核进行版本控制的努力。

我们有一个“Hello World”程序。每次我们向程序添加新功能(补丁)时,我们必须通过版本号跟踪更改。我们需要这个“Hello World”包的版本号应该自动增加。 同样,我们也需要处理Linux和Uboot。

Yocto能否为我们完成这个任务?或者我们还有其他选择来实现这个需求。请给我们提供建议,因为我们对Yocto的所有功能都是新手。

4个回答

10

一个完整的例子:

重要的部分是 SRCREV = "${AUTOREV}"PV = "${BPV}+gitr${SRCPV}"

DESCRIPTION = "Hello World"
SECTION = "examples"
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = "file://README.md;md5=8386d486d9e820c480636608de5c2d98"

SRCREV = "${AUTOREV}"
BPV = "0.1.0"
PV = "${BPV}+gitr${SRCPV}" 

S = "${WORKDIR}/git"

SRC_URI = " git://example/hello_world.git;protocol=http \
"

inherit autotools

RDEPENDS_${PN} += " \
    hello-world-runtime-dependency \
"

3

如已经指出,你需要使用SRCREV = "${AUTOREV}"。为了在每次更新时更改版本号,需要在您的配方中调整PV变量。

LINUX_VERSION ?= "3.14"
PV = "${LINUX_VERSION}+git${SRCPV}"

你可以参考 OpenEmbedded内核配方 来进行检查。

0

据我所知,Yocto没有此功能的内置特性。但是,您可以编写自己的检查机制并将其放置在do_fetch_prepend中。然后使用d.setVar('SRCREV',myshasum)以编程方式设置SRCREV。


0

自动更新的选项是将SRCREV =“$ {AUTOREV}”设置,然后有一个脚本在配方中设置PV和/或PR。当配方发生更改时,它会强制进行提取,而AUTOREV表示它从HEAD拉取。


你不需要那个脚本。我们的内核配方已经包含了一切,我们执行以下操作:LINUX_VERSION ?= "3.14" PR = "r0" PV = "${LINUX_VERSION}+git${SRCPV}" - graugans

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接