2015-09-07 167 views
7

我们正在努力为我们的应用程序,RFS,Uboot的和内核Yocto版本控制

的版本控制,我们有一个Hello World程序。每当我们改变(修补)程序的新功能时,我们都必须在版本号的帮助下跟踪更改。我们需要这个(hello world包)的版本号应该自动递增。 我们与Linux和uboot相同。

yocto可以为我们做这个吗?或者我们有其他的选择来实现这一点。 请建议我们,因为我们是新的所有yocto的功能。

回答

0

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

0

为自动更新的选项是设置SRCREV =“$ {} AUTOREV”然后有一个脚本将PV和/或公关中的配方。当配方改变时,它会强制进行抓取并且AUTOREV意味着它从HEAD中拉出。

+0

你不需要该脚本。一切都已经包含在我们的核心配方,我们做到以下几点:? ''' LINUX_VERSION = “3.14” PR = “R0” PV = “$ {} LINUX_VERSION混帐+ $ {} SRCPV” ''' – graugans

2

正如已经pointed out你必须使用SRCREV = "${AUTOREV}"。要在每次更新中更改版本号,需要在配方中调整PV变量。

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

您可以检查OpenEmbedded kernel recipe作为参考。

6

的你如何能做到这个完整的例子:

的重要组成部分,是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 \ 
"