Re: [cip-dev][isar-cip-core][PATCH v2] swupdate-config: add prefix to variables
From: "Jan Kiszka" <jan.kiszka@siemens.com>
Date: 2021-05-03 17:32:46
On 03.05.21 17:45, Gylstorff Quirin wrote:
On 5/3/21 1:44 PM, Jan Kiszka wrote:quoted
On 03.05.21 13:28, Gylstorff Quirin wrote:quoted
On 4/30/21 4:50 PM, Jan Kiszka wrote:quoted
On 30.04.21 15:01, Q. Gylstorff wrote:quoted
From: Quirin Gylstorff <redacted> 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 <redacted> --- 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.bbclassb/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}"? JanSWUPDATE_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-imxBut 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. JanSWUpdate 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 -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux