我们正在努力为我们的应用程序,RFS,Uboot的和内核Yocto版本控制
的版本控制,我们有一个Hello World程序。每当我们改变(修补)程序的新功能时,我们都必须在版本号的帮助下跟踪更改。我们需要这个(hello world包)的版本号应该自动递增。 我们与Linux和uboot相同。
yocto可以为我们做这个吗?或者我们有其他的选择来实现这一点。 请建议我们,因为我们是新的所有yocto的功能。
我们正在努力为我们的应用程序,RFS,Uboot的和内核Yocto版本控制
的版本控制,我们有一个Hello World程序。每当我们改变(修补)程序的新功能时,我们都必须在版本号的帮助下跟踪更改。我们需要这个(hello world包)的版本号应该自动递增。 我们与Linux和uboot相同。
yocto可以为我们做这个吗?或者我们有其他的选择来实现这一点。 请建议我们,因为我们是新的所有yocto的功能。
没有内置的功能,这在yocto我的知识。但是,您可以编写自己的检查机制并将其放置在do_fetch_prepend中。然后用d.setVar('SRCREV',myshasum)以编程方式设置SRCREV。
为自动更新的选项是设置SRCREV =“$ {} AUTOREV”然后有一个脚本将PV和/或公关中的配方。当配方改变时,它会强制进行抓取并且AUTOREV意味着它从HEAD中拉出。
正如已经pointed out你必须使用SRCREV = "${AUTOREV}"
。要在每次更新中更改版本号,需要在配方中调整PV变量。
LINUX_VERSION ?= "3.14"
PV = "${LINUX_VERSION}+git${SRCPV}"
您可以检查OpenEmbedded kernel recipe作为参考。
的你如何能做到这个完整的例子:
的重要组成部分,是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 \
"
你不需要该脚本。一切都已经包含在我们的核心配方,我们做到以下几点:? ''' LINUX_VERSION = “3.14” PR = “R0” PV = “$ {} LINUX_VERSION混帐+ $ {} SRCPV” ''' – graugans