bitbake: fetch2/git.py: Add gitpkgv_revision alternative version information
gitpkgv_revision returns a sortable revision number that can be used in the PKGV variable for example. To mimic meta-openembedded gitpkgv behaviour to provide a sortable revision numner, one could set the following: PKGV = "1.0+${@bb.fetch2.get_srcrev(d, 'gitpkgv_revision')}" This would yield a package version like "1.0+69+fb5eb80". (Bitbake rev: 989c08f62aff7b707c25c692c23284f16506b7bc) Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
f03e108fb1
commit
5170177719
|
@ -398,6 +398,31 @@ class Git(FetchMethod):
|
||||||
def _build_revision(self, ud, d, name):
|
def _build_revision(self, ud, d, name):
|
||||||
return ud.revisions[name]
|
return ud.revisions[name]
|
||||||
|
|
||||||
|
def gitpkgv_revision(self, ud, d, name):
|
||||||
|
"""
|
||||||
|
Return a sortable revision number by counting commits in the history
|
||||||
|
Based on gitpkgv.bblass in meta-openembedded
|
||||||
|
"""
|
||||||
|
rev = self._build_revision(ud, d, name)
|
||||||
|
localpath = ud.localpath
|
||||||
|
rev_file = os.path.join(localpath, "oe-gitpkgv_" + rev)
|
||||||
|
if not os.path.exists(localpath):
|
||||||
|
commits = None
|
||||||
|
else:
|
||||||
|
if not os.path.exists(rev_file) or not os.path.getsize(rev_file):
|
||||||
|
from pipes import quote
|
||||||
|
commits = bb.fetch2.runfetchcmd(
|
||||||
|
"git rev-list %s -- | wc -l" % (quote(rev)),
|
||||||
|
d, quiet=True).strip().lstrip('0')
|
||||||
|
if commits:
|
||||||
|
open(rev_file, "w").write("%d\n" % int(commits))
|
||||||
|
else:
|
||||||
|
commits = open(rev_file, "r").readline(128).strip()
|
||||||
|
if commits:
|
||||||
|
return False, "%s+%s" % (commits, rev[:7])
|
||||||
|
else:
|
||||||
|
return True, str(rev)
|
||||||
|
|
||||||
def checkstatus(self, ud, d):
|
def checkstatus(self, ud, d):
|
||||||
try:
|
try:
|
||||||
self._lsremote(ud, d, "")
|
self._lsremote(ud, d, "")
|
||||||
|
|
Loading…
Reference in New Issue