Expectation is sstate_hardcode_path_unpack will perform the exact reverse operation of sstate_hardcode_path. But FIXMESTAGINGDIRHOST is not getting restored properly when the artifacts are fetched from shared state for recipes which requires both host and target to be restored. This was introduced by 0875107.
Fix the unpack logic. There are effectively two cases, native and cross-canadian require only host and everything else require both host and target. Signed-off-by: Shramana Chakraborty <[email protected]> --- meta/classes-global/sstate.bbclass | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass index 34a59fda00..9d62855bc0 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass @@ -420,10 +420,8 @@ python sstate_hardcode_path_unpack () { if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross-canadian', d): sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRHOST:%s:g'" % (staging_host) - elif bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d): - sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIRHOST:%s:g'" % (staging_target, staging_host) else: - sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g'" % (staging_target) + sstate_sed_cmd = "sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIRHOST:%s:g'" % (staging_target, staging_host) extra_staging_fixmes = d.getVar('EXTRA_STAGING_FIXMES') or '' for fixmevar in extra_staging_fixmes.split(): @@ -581,7 +579,7 @@ python sstate_hardcode_path () { # staging packages. # # Note: the logic in this function needs to match the reverse logic - # in sstate_installpkg(ss, d) + # in sstate_hardcode_path_unpack(d) staging_target = d.getVar('RECIPE_SYSROOT') staging_host = d.getVar('RECIPE_SYSROOT_NATIVE') @@ -590,9 +588,6 @@ python sstate_hardcode_path () { sstate_sed_cmd = "sed -i -e 's:%s:FIXMESTAGINGDIRHOST:g'" % staging_host if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross-canadian', d): sstate_grep_cmd = "grep -l -e '%s'" % (staging_host) - elif bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d): - sstate_grep_cmd = "grep -l -e '%s' -e '%s'" % (staging_target, staging_host) - sstate_sed_cmd += " -e 's:%s:FIXMESTAGINGDIRTARGET:g'" % staging_target else: sstate_grep_cmd = "grep -l -e '%s' -e '%s'" % (staging_target, staging_host) sstate_sed_cmd += " -e 's:%s:FIXMESTAGINGDIRTARGET:g'" % staging_target
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#241874): https://lists.openembedded.org/g/openembedded-core/message/241874 Mute This Topic: https://lists.openembedded.org/mt/120418060/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
