2015-09-07 4 views
7

Wir kämpfen für Versionskontrolle unserer Anwendung, RFS, Uboot und KernelYocto Versionskontrolle

Wir haben ein Hallo Weltprogramm. Jedes Mal, wenn wir dem Programm neue Funktionen hinzufügen (patchen), müssen wir Änderungen mit Hilfe der Versionsnummer verfolgen. Wir brauchen die Versionsnummer (Hallo Weltpaket) sollte automatisch inkrementiert werden. Das gleiche haben wir mit Linux und Uboot zu tun.

Kann yocto das für uns tun? Oder haben wir andere Möglichkeiten, dies zu erreichen? Bitte schlagen Sie uns vor, wir sind neu für alle Fähigkeiten von yocto.

Antwort

0

Es gibt keine eingebaute Funktion für dieses in yocto meines Wissens. Sie können jedoch Ihren eigenen Überprüfungsmechanismus schreiben und in do_fetch_prepend platzieren. Setzen Sie dann SRCREV programmgesteuert mit d.setVar ('SRCREV', myshasum).

0

Eine Option für automatische Updates ist SRCREV gesetzt = „$ {AUTOREV}“ haben dann ein Skript, das PV und/oder PR im Rezept setzt. Wenn das Rezept geändert wird, erzwingt es einen Abruf und AUTOREV bedeutet, dass es von HEAD abzieht.

+0

Sie brauchen nicht das Skript. alles ist im Preis enthalten bereits in unserem Kernel Rezept wir wie folgt vor:? '' ' LINUX_VERSION = "3.14" PR = "r0" PV = "$ {LINUX_VERSION} + git $ {SRCPV}" ' '' – graugans

2

Wie bereits pointed out Sie haben SRCREV = "${AUTOREV}" zu verwenden. Um eine Versionsnummer zu haben, die auf jedes Update ändert die PV variablen Bedürfnisse in Ihrem Rezepte gezwickt werden.

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

Sie können die OpenEmbedded kernel recipe als Referenz überprüfen.

6

Ein vollständiges Beispiel dafür, wie Sie dies tun können:

Der wichtigste Teil ist SRCREV = "${AUTOREV}" und 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 \ 
"