aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2021-04-12 21:29:13 -0300
committerOtavio Salvador <otavio@ossystems.com.br>2021-04-13 17:29:25 -0300
commita1952664603583e82025a00f5f0335d899c5b1c9 (patch)
tree7ddef18b1a88e232c89b904ca5433f452250fc33
parent7e8bafd29eb36a30f39c783a096768f0ba8cca08 (diff)
downloadmeta-freescale-a1952664603583e82025a00f5f0335d899c5b1c9.tar.gz
meta-freescale-a1952664603583e82025a00f5f0335d899c5b1c9.tar.bz2
meta-freescale-a1952664603583e82025a00f5f0335d899c5b1c9.zip
libubootenv.inc: Allow build after bootloader rework
The libubootenv requires the UBOOT_MACHINE or UBOOT_CONFIG to allow libubootenv to build. This is caused by the commit below: ,----[ libubootenv change ] | commit 10aa1291979fb90bed1beb49be4d406ed0e1e4d5 ┃ | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━ | Author: Ming Liu <liu.ming50@gmail.com> | Date: Tue Aug 25 20:08:01 2020 +0200 | | libubootenv: inherit uboot-config | | This mainly aims to involve in the sanity check of UBOOT_CONFIG and | UBOOT_MACHINE, it will throw a error message at recipe parsing time if | neither of them is set, and libubootenv would be skipped. | | Signed-off-by: Ming Liu <liu.ming50@gmail.com> | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> `---- This an error on libubootenv recipe, in my point of view, either way we can override it based on the selected bootloader thus fixing the build failure. Fixes: 776932e1 ("Rework the u-boot-fslc and u-boot-imx settings logic") Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-rw-r--r--recipes-bsp/u-boot/libubootenv_%.bbappend43
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 @@
+# Fixup for the libubootenv which rely on uboot-config class for no good reason.
+#
+# This is not intended to be permanent but we need to get the integration
+# working and there is no good solution for now so we are adding this in a
+# non-intrusive way and using the `IMX_DEFAULT_BOOTLOADER` as a guard to do any
+# code execution.
+
+def fixup_uboot_config_dependency(d):
+ ubootmachine = d.getVar("UBOOT_MACHINE")
+ ubootconfig = (d.getVar('UBOOT_CONFIG') or "").split()
+ imx_default_bootloader = d.get('IMX_DEFAULT_BOOTLOADER')
+
+ if not ubootmachine and not ubootconfig and imx_default_bootloader:
+ # FIXME: We need to provide the UBOOT_MACHINE or UBOOT_CONFIG to allow libubootenv to
+ # build. This is caused by the commit below:
+ #
+ # ,----[ libubootenv change ]
+ # | commit 10aa1291979fb90bed1beb49be4d406ed0e1e4d5 ┃
+ # | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━
+ # | Author: Ming Liu <liu.ming50@gmail.com>
+ # | Date: Tue Aug 25 20:08:01 2020 +0200
+ # |
+ # | libubootenv: inherit uboot-config
+ # |
+ # | This mainly aims to involve in the sanity check of UBOOT_CONFIG and
+ # | UBOOT_MACHINE, it will throw a error message at recipe parsing time if
+ # | neither of them is set, and libubootenv would be skipped.
+ # |
+ # | Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+ # | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+ # `----
+ ubootmachine = d.getVar("UBOOT_MACHINE_pn-%s" % imx_default_bootloader)
+ ubootconfig = (d.getVar("UBOOT_CONFIG_pn-%s" % imx_default_bootloader) or "").split()
+
+ d.setVar("UBOOT_CONFIG", ubootconfig)
+ d.setVar("UBOOT_MACHINE", ubootmachine)
+
+python fixup_uboot_config_dependency_handler() {
+ fixup_uboot_config_dependency(d)
+}
+
+fixup_uboot_config_dependency_handler[eventmask] = "bb.event.RecipePreFinalise"
+addhandler fixup_uboot_config_dependency_handler