From 46d9de31db32e6546dce71d67ab39819395db1aa Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Tue, 17 Nov 2020 15:42:09 -0600 Subject: 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 Change-Id: If221573cdfefc2b0496a0ef2aca4d3cbc82abb7b Signed-off-by: Andrew Geissler --- .../recipes-core/os-release/os-release.bbappend | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'meta-phosphor/recipes-core') 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" -- cgit v1.2.3