2015-09-07 23 views
7

我々は、ハローワールドプログラムを持っています。新しい機能をプログラムに変更(パッチ適用)するたびに、バージョン番号の助けを借りて変更を追跡する必要があります。このバージョン(hello worldパッケージ)のバージョンを自動インクリメントする必要があります。 Linuxとubootと同じことが必要です。Yoctoのバージョン管理

yoctoはこれを行うことができますか?あるいは、これを達成するための他の選択肢がありますか? 私たちはyoctoのすべての機能について新しいものをお勧めします。

答えて

0

これは私の知る限りヨットには組み込まれていません。ただし、独自のチェックメカニズムを作成し、do_fetch_prependに配置することができます。次に、d.setVar( 'SRCREV'、myshasum)を使用してプログラムでSRCREVを設定します。

0

自動更新のオプションは、SRCREV = "$ {AUTOREV}"を設定し、PVおよび/またはPRをレシピに設定するスクリプトを持つことです。レシピが変更されると、フェッチが強制され、AUTOREVはレシピがHEADから引き出されることを意味します。

+0

です。 ? '' ' LINUX_VERSION = "3.14" PR = "R0" PV = "$ {LINUX_VERSION} + Gitの$ {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 \ 
"