summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/classes/gitpkgv.bbclass14
1 files changed, 10 insertions, 4 deletions
diff --git a/meta-oe/classes/gitpkgv.bbclass b/meta-oe/classes/gitpkgv.bbclass
index ab591bd45..180421ed3 100644
--- a/meta-oe/classes/gitpkgv.bbclass
+++ b/meta-oe/classes/gitpkgv.bbclass
@@ -40,10 +40,16 @@
40GITPKGV = "${@get_git_pkgv(d, False)}" 40GITPKGV = "${@get_git_pkgv(d, False)}"
41GITPKGVTAG = "${@get_git_pkgv(d, True)}" 41GITPKGVTAG = "${@get_git_pkgv(d, True)}"
42 42
43def gitpkgv_drop_tag_prefix(version): 43# This regexp is used to drop unwanted parts of the found tags. Any matching
44# groups will be concatenated to yield the final version.
45GITPKGV_TAG_REGEXP ??= "v(\d.*)"
46
47def gitpkgv_drop_tag_prefix(d, version):
44 import re 48 import re
45 if re.match("v\d", version): 49
46 return version[1:] 50 m = re.match(d.getVar('GITPKGV_TAG_REGEXP'), version)
51 if m:
52 return ''.join(group for group in m.groups() if group)
47 else: 53 else:
48 return version 54 return version
49 55
@@ -105,7 +111,7 @@ def get_git_pkgv(d, use_tags):
105 output = bb.fetch2.runfetchcmd( 111 output = bb.fetch2.runfetchcmd(
106 "git --git-dir=%(repodir)s describe %(rev)s --tags --exact-match 2>/dev/null" 112 "git --git-dir=%(repodir)s describe %(rev)s --tags --exact-match 2>/dev/null"
107 % vars, d, quiet=True).strip() 113 % vars, d, quiet=True).strip()
108 ver = gitpkgv_drop_tag_prefix(output) 114 ver = gitpkgv_drop_tag_prefix(d, output)
109 except Exception: 115 except Exception:
110 ver = "0.0-%s-g%s" % (commits, vars['rev'][:7]) 116 ver = "0.0-%s-g%s" % (commits, vars['rev'][:7])
111 else: 117 else: