diff options
| -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 ab591bd45c..180421ed35 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: |
