From 718daa97541b2b8570710e7f4e089191ef6477a4 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}" v2: * use git rev-parse instead of rev-list for consistency with get_git_pv * fix getVar() to pass `expand` as required by morty's bitbake Signed-off-by: Alejandro Mery Signed-off-by: Martin Jansa Signed-off-by: Armin Kuster --- meta-oe/classes/gitver.bbclass | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/meta-oe/classes/gitver.bbclass b/meta-oe/classes/gitver.bbclass index adb434a46b..875a3d79de 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", True) or d.getVar("S", True) 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", True) or d.getVar("S", True) + gitdir = os.path.abspath(os.path.join(srcdir, ".git")) + try: + return gitrev_run("git rev-parse HEAD", gitdir) + + 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