diff options
| -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 000000000..2633c3447 --- /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 | ||
