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 0ce424ded8)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Alejandro Mery 2017-06-13 10:47:56 +01:00 committed by Armin Kuster
parent 84d8c2028a
commit 4acb87b4d8

View File

@ -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