aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-bsp/u-boot/libubootenv_%.bbappend
blob: 2633c344739b73684245128492a01be90906ea90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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