aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/classes/gitver.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/classes/gitver.bbclass')
-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 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