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    target_machine = d.getVar('MACHINE', True)
29    if target_machine:
30        d.setVar('OPENBMC_TARGET_MACHINE', target_machine)
31}
32
33OS_RELEASE_FIELDS_append = " BUILD_ID OPENBMC_TARGET_MACHINE"
34
35# Ensure the git commands run every time bitbake is invoked.
36BB_DONT_CACHE = "1"
37
38# Make os-release available to other recipes.
39SYSROOT_DIRS_append = " ${sysconfdir}"
40