diff options
author | Mark Hatle <mark.hatle@amd.com> | 2025-01-24 13:08:16 -0700 |
---|---|---|
committer | Mark Hatle <mark.hatle@amd.com> | 2025-03-30 14:16:15 -0600 |
commit | 62e5de419cbe7c3ee176be7f6b14e485fd89b312 (patch) | |
tree | 0e96c34346d20281bae11a943f9fc4fa9657af43 | |
parent | 14b64c0223c6273f0586ba5244d6660dbde9f7b4 (diff) | |
download | meta-xilinx-62e5de419cbe7c3ee176be7f6b14e485fd89b312.tar.gz |
meta-xilinx-core: embeddedsw: Add workaround for mcdepends
Multiconfig dependencies are configured to be specific to a single from
and to multiconfig, for example:
mc:default:xilinx-image-recovery:core-image-tiny-initramfs:do_image_complete
The above says, when in the 'default' multiconfig, we depend on the
'xilinx-image-recovery' multiconfig, and need to run the do_image_complete
task within the core-image-tiny-initramfs recipe.
Two workarouns are present, the first adjusts:
mc::to_mc:recipe:task
to be
mc:${BB_CURRENT_MC}:to_mc:recipe_task
This will allow the mcdependencies produced by gen-machine-conf to wor in
any multiconfig the user may have. In the future we will adjust
gen-machine-conf to use ${BB_CURRET_MC} instead.
Second there is a bug/oversight in bitbake where the BB_CURRENT_MC reports
'default', but the system is expecting '' (blank) when in the default Linux
multiconfig. We will do this conversion to avoid any issues. A patch for
bitbake is in progress.
Signed-off-by: Mark Hatle <mark.hatle@amd.com>
-rw-r--r-- | meta-xilinx-core/recipes-bsp/embeddedsw/fsbl.bb | 10 | ||||
-rw-r--r-- | meta-xilinx-core/recipes-bsp/embeddedsw/imgrcry.bb | 10 | ||||
-rw-r--r-- | meta-xilinx-core/recipes-bsp/embeddedsw/imgsel.bb | 10 | ||||
-rw-r--r-- | meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb | 10 | ||||
-rw-r--r-- | meta-xilinx-core/recipes-bsp/embeddedsw/pmufw.bb | 10 | ||||
-rw-r--r-- | meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb | 10 |
6 files changed, 60 insertions, 0 deletions
diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/fsbl.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/fsbl.bb index ca18672b..c4e52853 100644 --- a/meta-xilinx-core/recipes-bsp/embeddedsw/fsbl.bb +++ b/meta-xilinx-core/recipes-bsp/embeddedsw/fsbl.bb | |||
@@ -80,4 +80,14 @@ def check_fsbl_variables(d): | |||
80 | python() { | 80 | python() { |
81 | # Need to allow bbappends to change the check | 81 | # Need to allow bbappends to change the check |
82 | check_fsbl_variables(d) | 82 | check_fsbl_variables(d) |
83 | |||
84 | # Fix the mcdepends dependency format: mc:from-mc:to-mc:recipe:task | ||
85 | # If the value is 'mc::' we'll adjust it to be mc:BB_CURRENT_MC: (temporary workaround) | ||
86 | # If the value is 'mc:default:' we'll adjuts it to be mc:: (temporary workaround for bitbake bug) | ||
87 | mcdepend = d.getVar('FSBL_MCDEPENDS') | ||
88 | if mcdepend: | ||
89 | if d.getVar('BB_CURRENT_MC') == 'default': | ||
90 | d.setVar('FSBL_MCDEPENDS', mcdepend.replace('mc:default:', 'mc::')) | ||
91 | else: | ||
92 | d.setVar('FSBL_MCDEPENDS', mcdepend.replace('mc::', 'mc:${BB_CURRENT_MC}:')) | ||
83 | } | 93 | } |
diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/imgrcry.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/imgrcry.bb index e87e8793..1875825e 100644 --- a/meta-xilinx-core/recipes-bsp/embeddedsw/imgrcry.bb +++ b/meta-xilinx-core/recipes-bsp/embeddedsw/imgrcry.bb | |||
@@ -66,4 +66,14 @@ def check_imgrcry_variables(d): | |||
66 | python() { | 66 | python() { |
67 | # Need to allow bbappends to change the check | 67 | # Need to allow bbappends to change the check |
68 | check_imgrcry_variables(d) | 68 | check_imgrcry_variables(d) |
69 | |||
70 | # Fix the mcdepends dependency format: mc:from-mc:to-mc:recipe:task | ||
71 | # If the value is 'mc::' we'll adjust it to be mc:BB_CURRENT_MC: (temporary workaround) | ||
72 | # If the value is 'mc:default:' we'll adjuts it to be mc:: (temporary workaround for bitbake bug) | ||
73 | mcdepend = d.getVar('IMGRCRY_MCDEPENDS') | ||
74 | if mcdepend: | ||
75 | if d.getVar('BB_CURRENT_MC') == 'default': | ||
76 | d.setVar('IMGRCRY_MCDEPENDS', mcdepend.replace('mc:default:', 'mc::')) | ||
77 | else: | ||
78 | d.setVar('IMGRCRY_MCDEPENDS', mcdepend.replace('mc::', 'mc:${BB_CURRENT_MC}:')) | ||
69 | } | 79 | } |
diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/imgsel.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/imgsel.bb index 0c0f1549..5f7e9988 100644 --- a/meta-xilinx-core/recipes-bsp/embeddedsw/imgsel.bb +++ b/meta-xilinx-core/recipes-bsp/embeddedsw/imgsel.bb | |||
@@ -69,4 +69,14 @@ def check_imgsel_variables(d): | |||
69 | python() { | 69 | python() { |
70 | # Need to allow bbappends to change the check | 70 | # Need to allow bbappends to change the check |
71 | check_imgsel_variables(d) | 71 | check_imgsel_variables(d) |
72 | |||
73 | # Fix the mcdepends dependency format: mc:from-mc:to-mc:recipe:task | ||
74 | # If the value is 'mc::' we'll adjust it to be mc:BB_CURRENT_MC: (temporary workaround) | ||
75 | # If the value is 'mc:default:' we'll adjuts it to be mc:: (temporary workaround for bitbake bug) | ||
76 | mcdepend = d.getVar('IMGSEL_MCDEPENDS') | ||
77 | if mcdepend: | ||
78 | if d.getVar('BB_CURRENT_MC') == 'default': | ||
79 | d.setVar('IMGSEL_MCDEPENDS', mcdepend.replace('mc:default:', 'mc::')) | ||
80 | else: | ||
81 | d.setVar('IMGSEL_MCDEPENDS', mcdepend.replace('mc::', 'mc:${BB_CURRENT_MC}:')) | ||
72 | } | 82 | } |
diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb index c3c595b2..94db9957 100644 --- a/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb +++ b/meta-xilinx-core/recipes-bsp/embeddedsw/plmfw.bb | |||
@@ -83,5 +83,15 @@ def check_plm_vars(d): | |||
83 | python() { | 83 | python() { |
84 | # Need to allow bbappends to change the check | 84 | # Need to allow bbappends to change the check |
85 | check_plm_vars(d) | 85 | check_plm_vars(d) |
86 | |||
87 | # Fix the mcdepends dependency format: mc:from-mc:to-mc:recipe:task | ||
88 | # If the value is 'mc::' we'll adjust it to be mc:BB_CURRENT_MC: (temporary workaround) | ||
89 | # If the value is 'mc:default:' we'll adjuts it to be mc:: (temporary workaround for bitbake bug) | ||
90 | mcdepend = d.getVar('PLM_MCDEPENDS') | ||
91 | if mcdepend: | ||
92 | if d.getVar('BB_CURRENT_MC') == 'default': | ||
93 | d.setVar('PLM_MCDEPENDS', mcdepend.replace('mc:default:', 'mc::')) | ||
94 | else: | ||
95 | d.setVar('PLM_MCDEPENDS', mcdepend.replace('mc::', 'mc:${BB_CURRENT_MC}:')) | ||
86 | } | 96 | } |
87 | 97 | ||
diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/pmufw.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/pmufw.bb index 40a0f5b2..538749ed 100644 --- a/meta-xilinx-core/recipes-bsp/embeddedsw/pmufw.bb +++ b/meta-xilinx-core/recipes-bsp/embeddedsw/pmufw.bb | |||
@@ -81,4 +81,14 @@ def check_pmu_vars(d): | |||
81 | python() { | 81 | python() { |
82 | # Need to allow bbappends to change the check | 82 | # Need to allow bbappends to change the check |
83 | check_pmu_vars(d) | 83 | check_pmu_vars(d) |
84 | |||
85 | # Fix the mcdepends dependency format: mc:from-mc:to-mc:recipe:task | ||
86 | # If the value is 'mc::' we'll adjust it to be mc:BB_CURRENT_MC: (temporary workaround) | ||
87 | # If the value is 'mc:default:' we'll adjuts it to be mc:: (temporary workaround for bitbake bug) | ||
88 | mcdepend = d.getVar('PMU_MCDEPENDS') | ||
89 | if mcdepend: | ||
90 | if d.getVar('BB_CURRENT_MC') == 'default': | ||
91 | d.setVar('PMU_MCDEPENDS', mcdepend.replace('mc:default:', 'mc::')) | ||
92 | else: | ||
93 | d.setVar('PMU_MCDEPENDS', mcdepend.replace('mc::', 'mc:${BB_CURRENT_MC}:')) | ||
84 | } | 94 | } |
diff --git a/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb b/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb index 0c70a0c5..d5305537 100644 --- a/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb +++ b/meta-xilinx-core/recipes-bsp/embeddedsw/psmfw.bb | |||
@@ -83,5 +83,15 @@ def check_psm_vars(d): | |||
83 | python() { | 83 | python() { |
84 | # Need to allow bbappends to change the check | 84 | # Need to allow bbappends to change the check |
85 | check_psm_vars(d) | 85 | check_psm_vars(d) |
86 | |||
87 | # Fix the mcdepends dependency format: mc:from-mc:to-mc:recipe:task | ||
88 | # If the value is 'mc::' we'll adjust it to be mc:BB_CURRENT_MC: (temporary workaround) | ||
89 | # If the value is 'mc:default:' we'll adjuts it to be mc:: (temporary workaround for bitbake bug) | ||
90 | mcdepend = d.getVar('PSM_MCDEPENDS') | ||
91 | if mcdepend: | ||
92 | if d.getVar('BB_CURRENT_MC') == 'default': | ||
93 | d.setVar('PSM_MCDEPENDS', mcdepend.replace('mc:default:', 'mc::')) | ||
94 | else: | ||
95 | d.setVar('PSM_MCDEPENDS', mcdepend.replace('mc::', 'mc:${BB_CURRENT_MC}:')) | ||
86 | } | 96 | } |
87 | 97 | ||