diff mbox series

[isar-cip-core,v2] swupdate-config: add prefix to variables

Message ID 20210430130134.22257-1-Quirin.Gylstorff@siemens.com (mailing list archive)
State Handled Elsewhere
Headers show
Series [isar-cip-core,v2] swupdate-config: add prefix to variables | expand

Commit Message

Quirin Gylstorff April 30, 2021, 1:01 p.m. UTC
From: Quirin Gylstorff <quirin.gylstorff@siemens.com>

The variables U_BOOT and BOOTLOADER are only used for swupdate.
Add the prefix SWUPDATE to indicate the intended usage.

Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
---
Changes in V2:
 - fix typo in commit message
 - use variable in kas/opt/*.yml

 classes/swupdate-config.bbclass      | 10 +++++-----
 kas/opt/ebg-secure-boot-snakeoil.yml |  2 +-
 kas/opt/ebg-swu.yml                  |  4 ++--
 kas/opt/qemu-swupdate.yml            |  2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

Comments

Jan Kiszka April 30, 2021, 2:50 p.m. UTC | #1
On 30.04.21 15:01, Q. Gylstorff wrote:
> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> 
> The variables U_BOOT and BOOTLOADER are only used for swupdate.
> Add the prefix SWUPDATE to indicate the intended usage.
> 
> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
> ---
> Changes in V2:
>  - fix typo in commit message
>  - use variable in kas/opt/*.yml
> 
>  classes/swupdate-config.bbclass      | 10 +++++-----
>  kas/opt/ebg-secure-boot-snakeoil.yml |  2 +-
>  kas/opt/ebg-swu.yml                  |  4 ++--
>  kas/opt/qemu-swupdate.yml            |  2 +-
>  4 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/classes/swupdate-config.bbclass b/classes/swupdate-config.bbclass
> index 9909113..0c1067a 100644
> --- a/classes/swupdate-config.bbclass
> +++ b/classes/swupdate-config.bbclass
> @@ -51,13 +51,13 @@ KFEATURE_u-boot[BUILD_DEB_DEPENDS] = "libubootenv-dev"
>  KFEATURE_u-boot[DEBIAN_DEPENDS] = "${@ 'libubootenv0.1, u-boot-${MACHINE}-config' \
>                                            if d.getVar("USE_U_BOOT_CONFIG", True) == "true" \
>                                            else 'libubootenv0.1'}"
> -KFEATURE_u-boot[DEPENDS] = "${U_BOOT} libubootenv"
> +KFEATURE_u-boot[DEPENDS] = "${SWUPDATE_U_BOOT} libubootenv"

Still leaves me and probably other users clueless what SWUPDATE_U_BOOT
should be. Simply "u-boot-${MACHINE}"?

Jan

>  KFEATURE_u-boot[KCONFIG_SNIPPETS] = "file://swupdate_defconfig_u-boot.snippet"
>  
>  SWUPDATE_LUASCRIPT ?= "swupdate_handlers.lua"
>  
>  def get_bootloader_featureset(d):
> -    bootloader = d.getVar("BOOTLOADER", True) or ""
> +    bootloader = d.getVar("SWUPDATE_BOOTLOADER", True) or ""
>      if bootloader == "efibootguard":
>          return "efibootguard"
>      if bootloader == "u-boot":
> @@ -68,11 +68,11 @@ SWUPDATE_KFEATURES ??= ""
>  KFEATURES = "${SWUPDATE_KFEATURES}"
>  KFEATURES += "${@get_bootloader_featureset(d)}"
>  
> -# Astonishingly, as an anonymous python function, BOOTLOADER is always None
> +# Astonishingly, as an anonymous python function, SWUPDATE_BOOTLOADER is always None
>  # one time before it gets set. So the following must be a task.
>  python do_check_bootloader () {
> -    bootloader = d.getVar("BOOTLOADER", True) or "None"
> +    bootloader = d.getVar("SWUPDATE_BOOTLOADER", True) or "None"
>      if not bootloader in ["efibootguard", "u-boot"]:
> -        bb.warn("swupdate: BOOTLOADER set to incompatible value: " + bootloader)
> +        bb.warn("swupdate: SWUPDATE_BOOTLOADER set to incompatible value: " + bootloader)
>  }
>  addtask check_bootloader before do_fetch
> diff --git a/kas/opt/ebg-secure-boot-snakeoil.yml b/kas/opt/ebg-secure-boot-snakeoil.yml
> index 8a72084..c0ed1a2 100644
> --- a/kas/opt/ebg-secure-boot-snakeoil.yml
> +++ b/kas/opt/ebg-secure-boot-snakeoil.yml
> @@ -20,7 +20,7 @@ local_conf_header:
>      # Add snakeoil and ovmf binaries for qemu
>      IMAGER_BUILD_DEPS += "ebg-secure-boot-snakeoil ovmf-binaries"
>      IMAGER_INSTALL += "ebg-secure-boot-snakeoil"
> -    WKS_FILE = "${MACHINE}-${BOOTLOADER}-secureboot.wks"
> +    WKS_FILE = "${MACHINE}-efibootguard-secureboot.wks"
>  
>    ovmf: |
>      # snakeoil certs are only part of backports
> diff --git a/kas/opt/ebg-swu.yml b/kas/opt/ebg-swu.yml
> index aa3aed1..63dda09 100644
> --- a/kas/opt/ebg-swu.yml
> +++ b/kas/opt/ebg-swu.yml
> @@ -15,7 +15,7 @@ header:
>  local_conf_header:
>    swupdate: |
>      IMAGE_INSTALL_append = " swupdate efibootguard"
> -    BOOTLOADER = "efibootguard"
> +    SWUPDATE_BOOTLOADER = "efibootguard"
>  
>    efibootguard: |
>      WDOG_TIMEOUT = "0"
> @@ -23,4 +23,4 @@ local_conf_header:
>  
>    wic: |
>      IMAGE_TYPE = "wic-swu-img"
> -    WKS_FILE ?= "${MACHINE}-${BOOTLOADER}.wks"
> +    WKS_FILE ?= "${MACHINE}-${SWUPDATE_BOOTLOADER}.wks"
> diff --git a/kas/opt/qemu-swupdate.yml b/kas/opt/qemu-swupdate.yml
> index 3f5fedf..daebd2c 100644
> --- a/kas/opt/qemu-swupdate.yml
> +++ b/kas/opt/qemu-swupdate.yml
> @@ -16,4 +16,4 @@ header:
>  local_conf_header:
>    qemu-wic: |
>      IMAGE_TYPE ?= "wic-swu-img"
> -    WKS_FILE = "qemu-amd64-${BOOTLOADER}.wks"
> +    WKS_FILE = "qemu-amd64-${SWUPDATE_BOOTLOADER}.wks"
>
Quirin Gylstorff May 3, 2021, 11:28 a.m. UTC | #2
On 4/30/21 4:50 PM, Jan Kiszka wrote:
> On 30.04.21 15:01, Q. Gylstorff wrote:
>> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>
>> The variables U_BOOT and BOOTLOADER are only used for swupdate.
>> Add the prefix SWUPDATE to indicate the intended usage.
>>
>> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>> ---
>> Changes in V2:
>>   - fix typo in commit message
>>   - use variable in kas/opt/*.yml
>>
>>   classes/swupdate-config.bbclass      | 10 +++++-----
>>   kas/opt/ebg-secure-boot-snakeoil.yml |  2 +-
>>   kas/opt/ebg-swu.yml                  |  4 ++--
>>   kas/opt/qemu-swupdate.yml            |  2 +-
>>   4 files changed, 9 insertions(+), 9 deletions(-)
>>
>> diff --git a/classes/swupdate-config.bbclass b/classes/swupdate-config.bbclass
>> index 9909113..0c1067a 100644
>> --- a/classes/swupdate-config.bbclass
>> +++ b/classes/swupdate-config.bbclass
>> @@ -51,13 +51,13 @@ KFEATURE_u-boot[BUILD_DEB_DEPENDS] = "libubootenv-dev"
>>   KFEATURE_u-boot[DEBIAN_DEPENDS] = "${@ 'libubootenv0.1, u-boot-${MACHINE}-config' \
>>                                             if d.getVar("USE_U_BOOT_CONFIG", True) == "true" \
>>                                             else 'libubootenv0.1'}"
>> -KFEATURE_u-boot[DEPENDS] = "${U_BOOT} libubootenv"
>> +KFEATURE_u-boot[DEPENDS] = "${SWUPDATE_U_BOOT} libubootenv"
> 
> Still leaves me and probably other users clueless what SWUPDATE_U_BOOT
> should be. Simply "u-boot-${MACHINE}"?
> 
> Jan
> 

SWUPDATE_U_BOOT should be the name of the u-boot package.

In case the layer (e.g. isar-cip-core) supplies the u-boot binary, 
`SWUPDATE_U_BOOT` should be defined as `u-boot-${MACHINE}`.


Debian provides some as package, e.g. [1].


I could add `u-boot-${MACHINE}` as default and a README section.


[1]: https://packages.debian.org/buster/u-boot-imx

Quirin

>>   KFEATURE_u-boot[KCONFIG_SNIPPETS] = "file://swupdate_defconfig_u-boot.snippet"
>>   
>>   SWUPDATE_LUASCRIPT ?= "swupdate_handlers.lua"
>>   
>>   def get_bootloader_featureset(d):
>> -    bootloader = d.getVar("BOOTLOADER", True) or ""
>> +    bootloader = d.getVar("SWUPDATE_BOOTLOADER", True) or ""
>>       if bootloader == "efibootguard":
>>           return "efibootguard"
>>       if bootloader == "u-boot":
>> @@ -68,11 +68,11 @@ SWUPDATE_KFEATURES ??= ""
>>   KFEATURES = "${SWUPDATE_KFEATURES}"
>>   KFEATURES += "${@get_bootloader_featureset(d)}"
>>   
>> -# Astonishingly, as an anonymous python function, BOOTLOADER is always None
>> +# Astonishingly, as an anonymous python function, SWUPDATE_BOOTLOADER is always None
>>   # one time before it gets set. So the following must be a task.
>>   python do_check_bootloader () {
>> -    bootloader = d.getVar("BOOTLOADER", True) or "None"
>> +    bootloader = d.getVar("SWUPDATE_BOOTLOADER", True) or "None"
>>       if not bootloader in ["efibootguard", "u-boot"]:
>> -        bb.warn("swupdate: BOOTLOADER set to incompatible value: " + bootloader)
>> +        bb.warn("swupdate: SWUPDATE_BOOTLOADER set to incompatible value: " + bootloader)
>>   }
>>   addtask check_bootloader before do_fetch
>> diff --git a/kas/opt/ebg-secure-boot-snakeoil.yml b/kas/opt/ebg-secure-boot-snakeoil.yml
>> index 8a72084..c0ed1a2 100644
>> --- a/kas/opt/ebg-secure-boot-snakeoil.yml
>> +++ b/kas/opt/ebg-secure-boot-snakeoil.yml
>> @@ -20,7 +20,7 @@ local_conf_header:
>>       # Add snakeoil and ovmf binaries for qemu
>>       IMAGER_BUILD_DEPS += "ebg-secure-boot-snakeoil ovmf-binaries"
>>       IMAGER_INSTALL += "ebg-secure-boot-snakeoil"
>> -    WKS_FILE = "${MACHINE}-${BOOTLOADER}-secureboot.wks"
>> +    WKS_FILE = "${MACHINE}-efibootguard-secureboot.wks"
>>   
>>     ovmf: |
>>       # snakeoil certs are only part of backports
>> diff --git a/kas/opt/ebg-swu.yml b/kas/opt/ebg-swu.yml
>> index aa3aed1..63dda09 100644
>> --- a/kas/opt/ebg-swu.yml
>> +++ b/kas/opt/ebg-swu.yml
>> @@ -15,7 +15,7 @@ header:
>>   local_conf_header:
>>     swupdate: |
>>       IMAGE_INSTALL_append = " swupdate efibootguard"
>> -    BOOTLOADER = "efibootguard"
>> +    SWUPDATE_BOOTLOADER = "efibootguard"
>>   
>>     efibootguard: |
>>       WDOG_TIMEOUT = "0"
>> @@ -23,4 +23,4 @@ local_conf_header:
>>   
>>     wic: |
>>       IMAGE_TYPE = "wic-swu-img"
>> -    WKS_FILE ?= "${MACHINE}-${BOOTLOADER}.wks"
>> +    WKS_FILE ?= "${MACHINE}-${SWUPDATE_BOOTLOADER}.wks"
>> diff --git a/kas/opt/qemu-swupdate.yml b/kas/opt/qemu-swupdate.yml
>> index 3f5fedf..daebd2c 100644
>> --- a/kas/opt/qemu-swupdate.yml
>> +++ b/kas/opt/qemu-swupdate.yml
>> @@ -16,4 +16,4 @@ header:
>>   local_conf_header:
>>     qemu-wic: |
>>       IMAGE_TYPE ?= "wic-swu-img"
>> -    WKS_FILE = "qemu-amd64-${BOOTLOADER}.wks"
>> +    WKS_FILE = "qemu-amd64-${SWUPDATE_BOOTLOADER}.wks"
>>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#6413): https://lists.cip-project.org/g/cip-dev/message/6413
Mute This Topic: https://lists.cip-project.org/mt/82480672/4520388
Group Owner: cip-dev+owner@lists.cip-project.org
Unsubscribe: https://lists.cip-project.org/g/cip-dev/leave/8129055/4520388/727948398/xyzzy [cip-dev@archiver.kernel.org]
-=-=-=-=-=-=-=-=-=-=-=-
Jan Kiszka May 3, 2021, 11:44 a.m. UTC | #3
On 03.05.21 13:28, Gylstorff Quirin wrote:
> 
> 
> On 4/30/21 4:50 PM, Jan Kiszka wrote:
>> On 30.04.21 15:01, Q. Gylstorff wrote:
>>> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>>
>>> The variables U_BOOT and BOOTLOADER are only used for swupdate.
>>> Add the prefix SWUPDATE to indicate the intended usage.
>>>
>>> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>> ---
>>> Changes in V2:
>>>   - fix typo in commit message
>>>   - use variable in kas/opt/*.yml
>>>
>>>   classes/swupdate-config.bbclass      | 10 +++++-----
>>>   kas/opt/ebg-secure-boot-snakeoil.yml |  2 +-
>>>   kas/opt/ebg-swu.yml                  |  4 ++--
>>>   kas/opt/qemu-swupdate.yml            |  2 +-
>>>   4 files changed, 9 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/classes/swupdate-config.bbclass
>>> b/classes/swupdate-config.bbclass
>>> index 9909113..0c1067a 100644
>>> --- a/classes/swupdate-config.bbclass
>>> +++ b/classes/swupdate-config.bbclass
>>> @@ -51,13 +51,13 @@ KFEATURE_u-boot[BUILD_DEB_DEPENDS] =
>>> "libubootenv-dev"
>>>   KFEATURE_u-boot[DEBIAN_DEPENDS] = "${@ 'libubootenv0.1,
>>> u-boot-${MACHINE}-config' \
>>>                                             if
>>> d.getVar("USE_U_BOOT_CONFIG", True) == "true" \
>>>                                             else 'libubootenv0.1'}"
>>> -KFEATURE_u-boot[DEPENDS] = "${U_BOOT} libubootenv"
>>> +KFEATURE_u-boot[DEPENDS] = "${SWUPDATE_U_BOOT} libubootenv"
>>
>> Still leaves me and probably other users clueless what SWUPDATE_U_BOOT
>> should be. Simply "u-boot-${MACHINE}"?
>>
>> Jan
>>
> 
> SWUPDATE_U_BOOT should be the name of the u-boot package.
> 
> In case the layer (e.g. isar-cip-core) supplies the u-boot binary,
> `SWUPDATE_U_BOOT` should be defined as `u-boot-${MACHINE}`.
> 
> 
> Debian provides some as package, e.g. [1].
> 
> 
> I could add `u-boot-${MACHINE}` as default and a README section.
> 
> 
> [1]: https://packages.debian.org/buster/u-boot-imx
> 

But does SWUpdate really depends on the U-Boot binary that is going to
be put on the device - or rather on u-boot-config? This looks fishy.

Jan
Quirin Gylstorff May 3, 2021, 3:45 p.m. UTC | #4
On 5/3/21 1:44 PM, Jan Kiszka wrote:
> On 03.05.21 13:28, Gylstorff Quirin wrote:
>>
>>
>> On 4/30/21 4:50 PM, Jan Kiszka wrote:
>>> On 30.04.21 15:01, Q. Gylstorff wrote:
>>>> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>>>
>>>> The variables U_BOOT and BOOTLOADER are only used for swupdate.
>>>> Add the prefix SWUPDATE to indicate the intended usage.
>>>>
>>>> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>>> ---
>>>> Changes in V2:
>>>>    - fix typo in commit message
>>>>    - use variable in kas/opt/*.yml
>>>>
>>>>    classes/swupdate-config.bbclass      | 10 +++++-----
>>>>    kas/opt/ebg-secure-boot-snakeoil.yml |  2 +-
>>>>    kas/opt/ebg-swu.yml                  |  4 ++--
>>>>    kas/opt/qemu-swupdate.yml            |  2 +-
>>>>    4 files changed, 9 insertions(+), 9 deletions(-)
>>>>
>>>> diff --git a/classes/swupdate-config.bbclass
>>>> b/classes/swupdate-config.bbclass
>>>> index 9909113..0c1067a 100644
>>>> --- a/classes/swupdate-config.bbclass
>>>> +++ b/classes/swupdate-config.bbclass
>>>> @@ -51,13 +51,13 @@ KFEATURE_u-boot[BUILD_DEB_DEPENDS] =
>>>> "libubootenv-dev"
>>>>    KFEATURE_u-boot[DEBIAN_DEPENDS] = "${@ 'libubootenv0.1,
>>>> u-boot-${MACHINE}-config' \
>>>>                                              if
>>>> d.getVar("USE_U_BOOT_CONFIG", True) == "true" \
>>>>                                              else 'libubootenv0.1'}"
>>>> -KFEATURE_u-boot[DEPENDS] = "${U_BOOT} libubootenv"
>>>> +KFEATURE_u-boot[DEPENDS] = "${SWUPDATE_U_BOOT} libubootenv"
>>>
>>> Still leaves me and probably other users clueless what SWUPDATE_U_BOOT
>>> should be. Simply "u-boot-${MACHINE}"?
>>>
>>> Jan
>>>
>>
>> SWUPDATE_U_BOOT should be the name of the u-boot package.
>>
>> In case the layer (e.g. isar-cip-core) supplies the u-boot binary,
>> `SWUPDATE_U_BOOT` should be defined as `u-boot-${MACHINE}`.
>>
>>
>> Debian provides some as package, e.g. [1].
>>
>>
>> I could add `u-boot-${MACHINE}` as default and a README section.
>>
>>
>> [1]: https://packages.debian.org/buster/u-boot-imx
>>
> 
> But does SWUpdate really depends on the U-Boot binary that is going to
> be put on the device - or rather on u-boot-config? This looks fishy.
> 
> Jan
> 

SWUpdate does not depends on the u-boot-binary. SWUpdate needs 
'fw_env.config'(u-boot-config) to interact with the u-boot environment.
As libubootenv does not request or provide 'fw_env.config' the code 
above is necessary. SWUPDATE_U_BOOT is only used for creating a build
order.

Another way would be add u-boot-config as dependency to libubootenv in
isar upstream. This would also mean that we maintain that package build
instead of using the one provided by Debian bullseye and later.

Quirin
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#6415): https://lists.cip-project.org/g/cip-dev/message/6415
Mute This Topic: https://lists.cip-project.org/mt/82480672/4520388
Group Owner: cip-dev+owner@lists.cip-project.org
Unsubscribe: https://lists.cip-project.org/g/cip-dev/leave/8129055/4520388/727948398/xyzzy [cip-dev@archiver.kernel.org]
-=-=-=-=-=-=-=-=-=-=-=-
Jan Kiszka May 3, 2021, 5:21 p.m. UTC | #5
On 03.05.21 17:45, Gylstorff Quirin wrote:
> 
> 
> On 5/3/21 1:44 PM, Jan Kiszka wrote:
>> On 03.05.21 13:28, Gylstorff Quirin wrote:
>>>
>>>
>>> On 4/30/21 4:50 PM, Jan Kiszka wrote:
>>>> On 30.04.21 15:01, Q. Gylstorff wrote:
>>>>> From: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>>>>
>>>>> The variables U_BOOT and BOOTLOADER are only used for swupdate.
>>>>> Add the prefix SWUPDATE to indicate the intended usage.
>>>>>
>>>>> Signed-off-by: Quirin Gylstorff <quirin.gylstorff@siemens.com>
>>>>> ---
>>>>> Changes in V2:
>>>>>    - fix typo in commit message
>>>>>    - use variable in kas/opt/*.yml
>>>>>
>>>>>    classes/swupdate-config.bbclass      | 10 +++++-----
>>>>>    kas/opt/ebg-secure-boot-snakeoil.yml |  2 +-
>>>>>    kas/opt/ebg-swu.yml                  |  4 ++--
>>>>>    kas/opt/qemu-swupdate.yml            |  2 +-
>>>>>    4 files changed, 9 insertions(+), 9 deletions(-)
>>>>>
>>>>> diff --git a/classes/swupdate-config.bbclass
>>>>> b/classes/swupdate-config.bbclass
>>>>> index 9909113..0c1067a 100644
>>>>> --- a/classes/swupdate-config.bbclass
>>>>> +++ b/classes/swupdate-config.bbclass
>>>>> @@ -51,13 +51,13 @@ KFEATURE_u-boot[BUILD_DEB_DEPENDS] =
>>>>> "libubootenv-dev"
>>>>>    KFEATURE_u-boot[DEBIAN_DEPENDS] = "${@ 'libubootenv0.1,
>>>>> u-boot-${MACHINE}-config' \
>>>>>                                              if
>>>>> d.getVar("USE_U_BOOT_CONFIG", True) == "true" \
>>>>>                                              else 'libubootenv0.1'}"
>>>>> -KFEATURE_u-boot[DEPENDS] = "${U_BOOT} libubootenv"
>>>>> +KFEATURE_u-boot[DEPENDS] = "${SWUPDATE_U_BOOT} libubootenv"
>>>>
>>>> Still leaves me and probably other users clueless what SWUPDATE_U_BOOT
>>>> should be. Simply "u-boot-${MACHINE}"?
>>>>
>>>> Jan
>>>>
>>>
>>> SWUPDATE_U_BOOT should be the name of the u-boot package.
>>>
>>> In case the layer (e.g. isar-cip-core) supplies the u-boot binary,
>>> `SWUPDATE_U_BOOT` should be defined as `u-boot-${MACHINE}`.
>>>
>>>
>>> Debian provides some as package, e.g. [1].
>>>
>>>
>>> I could add `u-boot-${MACHINE}` as default and a README section.
>>>
>>>
>>> [1]: https://packages.debian.org/buster/u-boot-imx
>>>
>>
>> But does SWUpdate really depends on the U-Boot binary that is going to
>> be put on the device - or rather on u-boot-config? This looks fishy.
>>
>> Jan
>>
> 
> SWUpdate does not depends on the u-boot-binary. SWUpdate needs
> 'fw_env.config'(u-boot-config) to interact with the u-boot environment.

And for that, it needs u-boot-config as package, not u-boot-<machine>.

> As libubootenv does not request or provide 'fw_env.config' the code
> above is necessary. SWUPDATE_U_BOOT is only used for creating a build
> order.

Build order is meaningless if you are not consuming the output - which I
assume is the case via fw_env.config from u-boot-config /
u-boot-<machine>-config.

> 
> Another way would be add u-boot-config as dependency to libubootenv in
> isar upstream. This would also mean that we maintain that package build
> instead of using the one provided by Debian bullseye and later.

Is libubootenv useless without some u-boot-config package? If so, it
would also be Debian upstream bug, and both sides needed fixing.

But I still don't get the full picture: With self-built U-Boot, we
generate u-boot-<machine>-config, providing fw_env.config. That file is
required during runtime or build time by SWUpdate?

But who is providing that file if we wanted to use an upstream Debian
U-Boot? It's not packaged with any of those. So, depending on a Debian
U-Boot package seems totally pointless. In fact, using a Debian U-Boot
seems impossible with our SWUpdate requirements, no?

Jan
diff mbox series

Patch

diff --git a/classes/swupdate-config.bbclass b/classes/swupdate-config.bbclass
index 9909113..0c1067a 100644
--- a/classes/swupdate-config.bbclass
+++ b/classes/swupdate-config.bbclass
@@ -51,13 +51,13 @@  KFEATURE_u-boot[BUILD_DEB_DEPENDS] = "libubootenv-dev"
 KFEATURE_u-boot[DEBIAN_DEPENDS] = "${@ 'libubootenv0.1, u-boot-${MACHINE}-config' \
                                           if d.getVar("USE_U_BOOT_CONFIG", True) == "true" \
                                           else 'libubootenv0.1'}"
-KFEATURE_u-boot[DEPENDS] = "${U_BOOT} libubootenv"
+KFEATURE_u-boot[DEPENDS] = "${SWUPDATE_U_BOOT} libubootenv"
 KFEATURE_u-boot[KCONFIG_SNIPPETS] = "file://swupdate_defconfig_u-boot.snippet"
 
 SWUPDATE_LUASCRIPT ?= "swupdate_handlers.lua"
 
 def get_bootloader_featureset(d):
-    bootloader = d.getVar("BOOTLOADER", True) or ""
+    bootloader = d.getVar("SWUPDATE_BOOTLOADER", True) or ""
     if bootloader == "efibootguard":
         return "efibootguard"
     if bootloader == "u-boot":
@@ -68,11 +68,11 @@  SWUPDATE_KFEATURES ??= ""
 KFEATURES = "${SWUPDATE_KFEATURES}"
 KFEATURES += "${@get_bootloader_featureset(d)}"
 
-# Astonishingly, as an anonymous python function, BOOTLOADER is always None
+# Astonishingly, as an anonymous python function, SWUPDATE_BOOTLOADER is always None
 # one time before it gets set. So the following must be a task.
 python do_check_bootloader () {
-    bootloader = d.getVar("BOOTLOADER", True) or "None"
+    bootloader = d.getVar("SWUPDATE_BOOTLOADER", True) or "None"
     if not bootloader in ["efibootguard", "u-boot"]:
-        bb.warn("swupdate: BOOTLOADER set to incompatible value: " + bootloader)
+        bb.warn("swupdate: SWUPDATE_BOOTLOADER set to incompatible value: " + bootloader)
 }
 addtask check_bootloader before do_fetch
diff --git a/kas/opt/ebg-secure-boot-snakeoil.yml b/kas/opt/ebg-secure-boot-snakeoil.yml
index 8a72084..c0ed1a2 100644
--- a/kas/opt/ebg-secure-boot-snakeoil.yml
+++ b/kas/opt/ebg-secure-boot-snakeoil.yml
@@ -20,7 +20,7 @@  local_conf_header:
     # Add snakeoil and ovmf binaries for qemu
     IMAGER_BUILD_DEPS += "ebg-secure-boot-snakeoil ovmf-binaries"
     IMAGER_INSTALL += "ebg-secure-boot-snakeoil"
-    WKS_FILE = "${MACHINE}-${BOOTLOADER}-secureboot.wks"
+    WKS_FILE = "${MACHINE}-efibootguard-secureboot.wks"
 
   ovmf: |
     # snakeoil certs are only part of backports
diff --git a/kas/opt/ebg-swu.yml b/kas/opt/ebg-swu.yml
index aa3aed1..63dda09 100644
--- a/kas/opt/ebg-swu.yml
+++ b/kas/opt/ebg-swu.yml
@@ -15,7 +15,7 @@  header:
 local_conf_header:
   swupdate: |
     IMAGE_INSTALL_append = " swupdate efibootguard"
-    BOOTLOADER = "efibootguard"
+    SWUPDATE_BOOTLOADER = "efibootguard"
 
   efibootguard: |
     WDOG_TIMEOUT = "0"
@@ -23,4 +23,4 @@  local_conf_header:
 
   wic: |
     IMAGE_TYPE = "wic-swu-img"
-    WKS_FILE ?= "${MACHINE}-${BOOTLOADER}.wks"
+    WKS_FILE ?= "${MACHINE}-${SWUPDATE_BOOTLOADER}.wks"
diff --git a/kas/opt/qemu-swupdate.yml b/kas/opt/qemu-swupdate.yml
index 3f5fedf..daebd2c 100644
--- a/kas/opt/qemu-swupdate.yml
+++ b/kas/opt/qemu-swupdate.yml
@@ -16,4 +16,4 @@  header:
 local_conf_header:
   qemu-wic: |
     IMAGE_TYPE ?= "wic-swu-img"
-    WKS_FILE = "qemu-amd64-${BOOTLOADER}.wks"
+    WKS_FILE = "qemu-amd64-${SWUPDATE_BOOTLOADER}.wks"