我們正在努力爲我們的應用程序,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