34 lines
1.6 KiB
Plaintext
34 lines
1.6 KiB
Plaintext
|
|
# WARNING!
|
||
|
|
#
|
||
|
|
# These modifications to os-release disable the bitbake parse
|
||
|
|
# cache (for the os-release recipe only). Before copying
|
||
|
|
# and pasting into another recipe ensure it is understood
|
||
|
|
# what that means!
|
||
|
|
|
||
|
|
OS_RELEASE_ROOTPATH ?= "${COREBASE}"
|
||
|
|
def run_git(d, cmd):
|
||
|
|
try:
|
||
|
|
oeroot = d.getVar('OS_RELEASE_ROOTPATH', True)
|
||
|
|
return bb.process.run(("export PSEUDO_DISABLED=1; " +
|
||
|
|
"git --work-tree %s --git-dir %s/.git %s")
|
||
|
|
% (oeroot, oeroot, cmd))[0].strip('\n')
|
||
|
|
except Exception as e:
|
||
|
|
bb.warn("Unexpected exception from 'git' call: %s" % e)
|
||
|
|
pass
|
||
|
|
# DISTRO_VERSION can be overridden by a bbappend or config, so it must be a
|
||
|
|
# weak override. But, when a variable is weakly overridden the definition
|
||
|
|
# and not the contents are used in the task-hash (for sstate reuse). We need
|
||
|
|
# a strong variable in the vardeps chain for do_compile so that we get the
|
||
|
|
# contents of the 'git describe --dirty' call. Create a strong/immediate
|
||
|
|
# indirection via PHOSPHOR_OS_RELEASE_DISTRO_VERSION.
|
||
|
|
PHOSPHOR_OS_RELEASE_DISTRO_VERSION := "${@run_git(d, 'describe --dirty')}"
|
||
|
|
DISTRO_VERSION ??= "${PHOSPHOR_OS_RELEASE_DISTRO_VERSION}"
|
||
|
|
EXTENDED_VERSION ??= "${PHOSPHOR_OS_RELEASE_DISTRO_VERSION}"
|
||
|
|
VERSION = "${@'-'.join(d.getVar('VERSION_ID').split('-')[0:2])}"
|
||
|
|
OPENBMC_TARGET_MACHINE = "${MACHINE}"
|
||
|
|
OS_RELEASE_FIELDS:append = " BUILD_ID OPENBMC_TARGET_MACHINE EXTENDED_VERSION"
|
||
|
|
# Ensure the git commands run every time bitbake is invoked.
|
||
|
|
BB_DONT_CACHE = "1"
|
||
|
|
# Make os-release available to other recipes.
|
||
|
|
SYSROOT_DIRS:append = " ${sysconfdir}"
|