diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2020-11-18 00:42:09 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2020-11-18 17:04:02 +0300 |
commit | 46d9de31db32e6546dce71d67ab39819395db1aa (patch) | |
tree | 1764197950d7ac7e286baeafeed8356345b65e47 /meta-phosphor/recipes-core/os-release/os-release.bbappend | |
parent | ae90218a3a400433df6282d6e43bb658616bbd46 (diff) | |
download | openbmc-46d9de31db32e6546dce71d67ab39819395db1aa.tar.xz |
os-release: switch python to variable expansion
The previous implementation of the OpenBMC os-release.bbappends
used a python function to inject `git` results into Python
variables. Since the python function is then executed at multiple
task phases, it can result in the hash value changing between tasks,
which causes bitbake failures.
Rewrite the os-release implementation to use forced immediate
variable expansion, rather than a python function. This, combined
with BB_DONT_CACHE, allows the variables to be expanded once at
recipe parse time and the values to continue through to the rest of
the task phases without affecting the hash.
Fixes openbmc/openbmc#3720.
(From meta-phosphor rev: 5266d02bd2a8a6d3a6e047b212f06c7e7aaacb36)
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: If221573cdfefc2b0496a0ef2aca4d3cbc82abb7b
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'meta-phosphor/recipes-core/os-release/os-release.bbappend')
-rw-r--r-- | meta-phosphor/recipes-core/os-release/os-release.bbappend | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/meta-phosphor/recipes-core/os-release/os-release.bbappend b/meta-phosphor/recipes-core/os-release/os-release.bbappend index c01014643..0f938c392 100644 --- a/meta-phosphor/recipes-core/os-release/os-release.bbappend +++ b/meta-phosphor/recipes-core/os-release/os-release.bbappend @@ -13,22 +13,11 @@ def run_git(d, cmd): except: pass -python() { - version_id = run_git(d, 'describe --dirty --long') - if version_id: - d.setVar('VERSION_ID', version_id) - versionList = version_id.split('-') - version = versionList[0] + "-" + versionList[1] - d.setVar('VERSION', version) +VERSION_ID := "${@run_git(d, 'describe --dirty --long')}" +VERSION = "${@'-'.join(d.getVar('VERSION_ID').split('-')[0:2])}" - build_id = run_git(d, 'describe --abbrev=0') - if build_id: - d.setVar('BUILD_ID', build_id) - - target_machine = d.getVar('MACHINE', True) - if target_machine: - d.setVar('OPENBMC_TARGET_MACHINE', target_machine) -} +BUILD_ID := "${@run_git(d, 'describe --abbrev=0')}" +OPENBMC_TARGET_MACHINE = "${MACHINE}" OS_RELEASE_FIELDS_append = " BUILD_ID OPENBMC_TARGET_MACHINE" |