summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Mery <amery@hanoverdisplays.com>2017-06-13 10:47:56 +0100
committerArmin Kuster <akuster808@gmail.com>2017-09-13 17:16:28 -0700
commit4acb87b4d865501ed7a05e443aab5a670ef0cbfc (patch)
tree848fa307b3741ee89d3d2283132f1613c776536c
parent84d8c2028a8f4472ee0aef9074137d4e78ce1b46 (diff)
downloadmeta-openembedded-4acb87b4d865501ed7a05e443aab5a670ef0cbfc.tar.gz
gitver: fix broken ${GITSHA} and recursion in S when PV="${GITVER}"
Signed-off-by: Alejandro Mery <amery@hanoverdisplays.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> (cherry picked from commit 0ce424ded8c28a0122cbcde1836b341bca53e8dd) Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-oe/classes/gitver.bbclass18
1 files changed, 14 insertions, 4 deletions
diff --git a/meta-oe/classes/gitver.bbclass b/meta-oe/classes/gitver.bbclass
index 73521d538..a09c99749 100644
--- a/meta-oe/classes/gitver.bbclass
+++ b/meta-oe/classes/gitver.bbclass
@@ -13,16 +13,15 @@ def git_drop_tag_prefix(version):
13 return version 13 return version
14 14
15GIT_TAGADJUST = "git_drop_tag_prefix(version)" 15GIT_TAGADJUST = "git_drop_tag_prefix(version)"
16GITVER = "${@get_git_pv('${S}', d, tagadjust=lambda version:${GIT_TAGADJUST})}" 16GITVER = "${@get_git_pv(d, tagadjust=lambda version:${GIT_TAGADJUST})}"
17GITSHA = "${@get_git_hash('${S}', d)}" 17GITSHA = "${@get_git_hash(d)}"
18 18
19def gitrev_run(cmd, path): 19def gitrev_run(cmd, path):
20 (output, error) = bb.process.run(cmd, cwd=path) 20 (output, error) = bb.process.run(cmd, cwd=path)
21 return output.rstrip() 21 return output.rstrip()
22 22
23def get_git_pv(path, d, tagadjust=None): 23def get_git_pv(d, tagadjust=None):
24 import os 24 import os
25 import bb.process
26 25
27 srcdir = d.getVar("EXTERNALSRC") or d.getVar("S") 26 srcdir = d.getVar("EXTERNALSRC") or d.getVar("S")
28 gitdir = os.path.abspath(os.path.join(srcdir, ".git")) 27 gitdir = os.path.abspath(os.path.join(srcdir, ".git"))
@@ -46,6 +45,17 @@ def get_git_pv(path, d, tagadjust=None):
46 ver = tagadjust(ver) 45 ver = tagadjust(ver)
47 return ver 46 return ver
48 47
48def get_git_hash(d):
49 import os
50
51 srcdir = d.getVar("EXTERNALSRC") or d.getVar("S")
52 gitdir = os.path.abspath(os.path.join(srcdir, ".git"))
53 try:
54 rev = gitrev_run("git rev-list HEAD -1")
55 return rev[:7]
56 except Exception as exc:
57 bb.fatal(str(exc))
58
49def mark_recipe_dependencies(path, d): 59def mark_recipe_dependencies(path, d):
50 from bb.parse import mark_dependency 60 from bb.parse import mark_dependency
51 61