devtool: add upgrade feature

Upgrades a recipe to a particular version and downloads the source code
into a folder. User can avoid patching the source code.

These are the general steps of the upgrade function:

   - Extract current recipe source code into srctree and create a branch
   - Extract upgrade recipe source code into srctree and rebase with
     previous branch. In case the rebase is not correctly applied, source
     code will not be deleted, so user correct the patches
   - Creates the new recipe under the workspace

[YOCTO #7642]

(From OE-Core rev: 4020f5d91b3e4d011150d5081d36215f8eab732e)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Leonardo Sandoval
2015-09-08 11:39:09 +01:00
committed by Richard Purdie
parent 7cde0ebd59
commit 8be95c5fbe
7 changed files with 445 additions and 1 deletions

View File

@@ -0,0 +1,25 @@
#
# This file was derived from the 'Hello World!' example recipe in the
# Yocto Project Development Manual.
#
DESCRIPTION = "Simple helloworld application used to test the devtool upgrade feature"
SECTION = "devtool"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r0"
SRC_URI = "file://${THISDIR}/files/${P}.tar.gz \
file://0001-helloword.c-exit-with-EXIT_SUCCESS-instead-of-a-magi.patch \
"
S = "${WORKDIR}/${P}"
do_compile() {
${CC} helloworld.c -o helloworld
}
do_install() {
install -d ${D}${bindir}
install -m 0755 helloworld ${D}${bindir}
}

View File

@@ -0,0 +1,27 @@
From 0f37affbc6e6c71687301d99d7259f1968e57c48 Mon Sep 17 00:00:00 2001
From: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Date: Wed, 26 Aug 2015 12:42:23 +0000
Subject: [PATCH] helloword.c: exit with EXIT_SUCCESS instead of a magic number
---
helloworld.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/helloworld.c b/helloworld.c
index 71f2e46..54bf50b 100644
--- a/helloworld.c
+++ b/helloworld.c
@@ -1,8 +1,9 @@
#include <stdio.h>
+#include <stdlib.h>
int main(int argc, char **argv)
{
printf("Hello World!\n");
- return 0;
+ return EXIT_SUCCESS;
}
--
1.8.4.5