From 0ce424ded8c28a0122cbcde1836b341bca53e8dd Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Tue, 13 Jun 2017 10:47:56 +0100 Subject: gitver: fix broken ${GITSHA} and recursion in S when PV="${GITVER}" Signed-off-by: Alejandro Mery Signed-off-by: Martin Jansa --- meta-oe/classes/gitver.bbclass | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'meta-oe/classes') diff --git a/meta-oe/classes/gitver.bbclass b/meta-oe/classes/gitver.bbclass index 73521d5382..a09c997496 100644 --- a/meta-oe/classes/gitver.bbclass +++ b/meta-oe/classes/gitver.bbclass @@ -13,16 +13,15 @@ def git_drop_tag_prefix(version): return version GIT_TAGADJUST = "git_drop_tag_prefix(version)" -GITVER = "${@get_git_pv('${S}', d, tagadjust=lambda version:${GIT_TAGADJUST})}" -GITSHA = "${@get_git_hash('${S}', d)}" +GITVER = "${@get_git_pv(d, tagadjust=lambda version:${GIT_TAGADJUST})}" +GITSHA = "${@get_git_hash(d)}" def gitrev_run(cmd, path): (output, error) = bb.process.run(cmd, cwd=path) return output.rstrip() -def get_git_pv(path, d, tagadjust=None): +def get_git_pv(d, tagadjust=None): import os - import bb.process srcdir = d.getVar("EXTERNALSRC") or d.getVar("S") gitdir = os.path.abspath(os.path.join(srcdir, ".git")) @@ -46,6 +45,17 @@ def get_git_pv(path, d, tagadjust=None): ver = tagadjust(ver) return ver +def get_git_hash(d): + import os + + srcdir = d.getVar("EXTERNALSRC") or d.getVar("S") + gitdir = os.path.abspath(os.path.join(srcdir, ".git")) + try: + rev = gitrev_run("git rev-list HEAD -1") + return rev[:7] + except Exception as exc: + bb.fatal(str(exc)) + def mark_recipe_dependencies(path, d): from bb.parse import mark_dependency -- cgit 1.2.3-korg