2015-09-07 224 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 \ 
"