summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-core
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2020-11-18 00:42:09 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-11-18 17:04:02 +0300
commit46d9de31db32e6546dce71d67ab39819395db1aa (patch)
tree1764197950d7ac7e286baeafeed8356345b65e47 /meta-phosphor/recipes-core
parentae90218a3a400433df6282d6e43bb658616bbd46 (diff)
downloadopenbmc-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')
-rw-r--r--meta-phosphor/recipes-core/os-release/os-release.bbappend19
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"