1# WARNING!
2#
3# These modifications to os-release disable the bitbake parse
4# cache (for the os-release recipe only).  Before copying
5# and pasting into another recipe ensure it is understood
6# what that means!
7
8def run_git(d, cmd):
9    try:
10        oeroot = d.getVar('COREBASE', True)
11        return bb.process.run("git --work-tree %s --git-dir %s/.git %s"
12            % (oeroot, oeroot, cmd))[0].strip('\n')
13    except:
14        pass
15
16python() {
17    version_id = run_git(d, 'describe --dirty --long')
18    if version_id:
19        d.setVar('VERSION_ID', version_id)
20        versionList = version_id.split('-')
21        version = versionList[0] + "-" + versionList[1]
22        d.setVar('VERSION', version)
23
24    build_id = run_git(d, 'describe --abbrev=0')
25    if build_id:
26        d.setVar('BUILD_ID', build_id)
27}
28
29OS_RELEASE_FIELDS_append = " BUILD_ID"
30
31# Ensure the git commands run every time bitbake is invoked.
32BB_DONT_CACHE = "1"
33
34# Make os-release available to other recipes.
35SYSROOT_DIRS_append = " ${sysconfdir}"
36