gitpkgv.bbclass: Add support for extending the supported tag formats

Introduce GITPKGV_TAG_REGEXP (which defaults to "v(\d.*)") to support
dropping other unwanted parts of the found tags than just a leading
"v". Any matching groups in the regexp will be concatenated to yield
the final version.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Peter Kjellerstedt 2020-01-17 21:34:21 +01:00 committed by Khem Raj
parent 1cc86099a8
commit b51af6b5b7

View File

@ -40,10 +40,16 @@
GITPKGV = "${@get_git_pkgv(d, False)}"
GITPKGVTAG = "${@get_git_pkgv(d, True)}"
def gitpkgv_drop_tag_prefix(version):
# This regexp is used to drop unwanted parts of the found tags. Any matching
# groups will be concatenated to yield the final version.
GITPKGV_TAG_REGEXP ??= "v(\d.*)"
def gitpkgv_drop_tag_prefix(d, version):
import re
if re.match("v\d", version):
return version[1:]
m = re.match(d.getVar('GITPKGV_TAG_REGEXP'), version)
if m:
return ''.join(group for group in m.groups() if group)
else:
return version
@ -105,7 +111,7 @@ def get_git_pkgv(d, use_tags):
output = bb.fetch2.runfetchcmd(
"git --git-dir=%(repodir)s describe %(rev)s --tags --exact-match 2>/dev/null"
% vars, d, quiet=True).strip()
ver = gitpkgv_drop_tag_prefix(output)
ver = gitpkgv_drop_tag_prefix(d, output)
except Exception:
ver = "0.0-%s-g%s" % (commits, vars['rev'][:7])
else: