diff options
Diffstat (limited to 'recipes-bsp/u-boot')
-rw-r--r-- | recipes-bsp/u-boot/libubootenv_%.bbappend | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/libubootenv_%.bbappend b/recipes-bsp/u-boot/libubootenv_%.bbappend new file mode 100644 index 00000000..2633c344 --- /dev/null +++ b/recipes-bsp/u-boot/libubootenv_%.bbappend | |||
@@ -0,0 +1,43 @@ | |||
1 | # Fixup for the libubootenv which rely on uboot-config class for no good reason. | ||
2 | # | ||
3 | # This is not intended to be permanent but we need to get the integration | ||
4 | # working and there is no good solution for now so we are adding this in a | ||
5 | # non-intrusive way and using the `IMX_DEFAULT_BOOTLOADER` as a guard to do any | ||
6 | # code execution. | ||
7 | |||
8 | def fixup_uboot_config_dependency(d): | ||
9 | ubootmachine = d.getVar("UBOOT_MACHINE") | ||
10 | ubootconfig = (d.getVar('UBOOT_CONFIG') or "").split() | ||
11 | imx_default_bootloader = d.get('IMX_DEFAULT_BOOTLOADER') | ||
12 | |||
13 | if not ubootmachine and not ubootconfig and imx_default_bootloader: | ||
14 | # FIXME: We need to provide the UBOOT_MACHINE or UBOOT_CONFIG to allow libubootenv to | ||
15 | # build. This is caused by the commit below: | ||
16 | # | ||
17 | # ,----[ libubootenv change ] | ||
18 | # | commit 10aa1291979fb90bed1beb49be4d406ed0e1e4d5 ┃ | ||
19 | # | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━ | ||
20 | # | Author: Ming Liu <liu.ming50@gmail.com> | ||
21 | # | Date: Tue Aug 25 20:08:01 2020 +0200 | ||
22 | # | | ||
23 | # | libubootenv: inherit uboot-config | ||
24 | # | | ||
25 | # | This mainly aims to involve in the sanity check of UBOOT_CONFIG and | ||
26 | # | UBOOT_MACHINE, it will throw a error message at recipe parsing time if | ||
27 | # | neither of them is set, and libubootenv would be skipped. | ||
28 | # | | ||
29 | # | Signed-off-by: Ming Liu <liu.ming50@gmail.com> | ||
30 | # | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
31 | # `---- | ||
32 | ubootmachine = d.getVar("UBOOT_MACHINE_pn-%s" % imx_default_bootloader) | ||
33 | ubootconfig = (d.getVar("UBOOT_CONFIG_pn-%s" % imx_default_bootloader) or "").split() | ||
34 | |||
35 | d.setVar("UBOOT_CONFIG", ubootconfig) | ||
36 | d.setVar("UBOOT_MACHINE", ubootmachine) | ||
37 | |||
38 | python fixup_uboot_config_dependency_handler() { | ||
39 | fixup_uboot_config_dependency(d) | ||
40 | } | ||
41 | |||
42 | fixup_uboot_config_dependency_handler[eventmask] = "bb.event.RecipePreFinalise" | ||
43 | addhandler fixup_uboot_config_dependency_handler | ||