diff options
Diffstat (limited to 'meta-oe/classes')
-rw-r--r-- | meta-oe/classes/gitpkgv.bbclass | 14 |
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 @@ | |||
40 | GITPKGV = "${@get_git_pkgv(d, False)}" | 40 | GITPKGV = "${@get_git_pkgv(d, False)}" |
41 | GITPKGVTAG = "${@get_git_pkgv(d, True)}" | 41 | GITPKGVTAG = "${@get_git_pkgv(d, True)}" |
42 | 42 | ||
43 | def 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. | ||
45 | GITPKGV_TAG_REGEXP ??= "v(\d.*)" | ||
46 | |||
47 | def 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: |