diff mbox series

package/uboot-tools: depend on u-boot when selected

Message ID 20210216142007.24983-1-patrickdepinguin@gmail.com
State Accepted
Headers show
Series package/uboot-tools: depend on u-boot when selected | expand

Commit Message

Thomas De Schampheleire Feb. 16, 2021, 2:20 p.m. UTC
From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>

The envimage creation logic only depended on u-boot when the user did not
specify a custom envimage source via
BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE . This assumes that a
user-provided envimage source is never coming from the u-boot source
tree.

But especially given the fact that the envimage creation logic used to be
part of the u-boot package, this is a realistic scenario: users may have
provided a value of BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE based on
$(UBOOT_DIR), e.g.:

    $(UBOOT_DIR)/board/foo-vendor/bar-board/env.txt

Therefore, always add the u-boot dependency if u-boot is selected, for
either case of custom or default envimage source.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
---
 package/uboot-tools/uboot-tools.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Thomas Petazzoni Feb. 16, 2021, 8:23 p.m. UTC | #1
On Tue, 16 Feb 2021 15:20:07 +0100
Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote:

> From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> 
> The envimage creation logic only depended on u-boot when the user did not
> specify a custom envimage source via
> BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE . This assumes that a
> user-provided envimage source is never coming from the u-boot source
> tree.
> 
> But especially given the fact that the envimage creation logic used to be
> part of the u-boot package, this is a realistic scenario: users may have
> provided a value of BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE based on
> $(UBOOT_DIR), e.g.:
> 
>     $(UBOOT_DIR)/board/foo-vendor/bar-board/env.txt
> 
> Therefore, always add the u-boot dependency if u-boot is selected, for
> either case of custom or default envimage source.
> 
> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> ---
>  package/uboot-tools/uboot-tools.mk | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)

I've applied to master, after slightly reworking the logic. Indeed you
had this:

ifeq ($(env):$(uboot),:y)
...
endif

ifeq ($(uboot),y)
...
endif

Which I modified to:

ifeq ($(uboot),y)
...

ifeq ($env),)
...
endif
endif

Thanks!

Thomas
Thomas De Schampheleire Feb. 16, 2021, 8:45 p.m. UTC | #2
On Tue, Feb 16, 2021, 21:23 Thomas Petazzoni <thomas.petazzoni@bootlin.com>
wrote:

> On Tue, 16 Feb 2021 15:20:07 +0100
> Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote:
>
> > From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> >
> > The envimage creation logic only depended on u-boot when the user did not
> > specify a custom envimage source via
> > BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE . This assumes that a
> > user-provided envimage source is never coming from the u-boot source
> > tree.
> >
> > But especially given the fact that the envimage creation logic used to be
> > part of the u-boot package, this is a realistic scenario: users may have
> > provided a value of BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE based on
> > $(UBOOT_DIR), e.g.:
> >
> >     $(UBOOT_DIR)/board/foo-vendor/bar-board/env.txt
> >
> > Therefore, always add the u-boot dependency if u-boot is selected, for
> > either case of custom or default envimage source.
> >
> > Signed-off-by: Thomas De Schampheleire <
> thomas.de_schampheleire@nokia.com>
> > ---
> >  package/uboot-tools/uboot-tools.mk | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
>
> I've applied to master, after slightly reworking the logic. Indeed you
> had this:
>
> ifeq ($(env):$(uboot),:y)
> ...
> endif
>
> ifeq ($(uboot),y)
> ...
> endif
>
> Which I modified to:
>
> ifeq ($(uboot),y)
> ...
>
> ifeq ($env),)
> ...
> endif
> endif


Ok, perfect, thanks!
Peter Korsgaard Feb. 17, 2021, 10:26 a.m. UTC | #3
>>>>> "Thomas" == Thomas De Schampheleire <patrickdepinguin@gmail.com> writes:

 > From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
 > The envimage creation logic only depended on u-boot when the user did not
 > specify a custom envimage source via
 > BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE . This assumes that a
 > user-provided envimage source is never coming from the u-boot source
 > tree.

 > But especially given the fact that the envimage creation logic used to be
 > part of the u-boot package, this is a realistic scenario: users may have
 > provided a value of BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE based on
 > $(UBOOT_DIR), e.g.:

 >     $(UBOOT_DIR)/board/foo-vendor/bar-board/env.txt

 > Therefore, always add the u-boot dependency if u-boot is selected, for
 > either case of custom or default envimage source.

 > Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>

Committed to 2020.11.x, thanks.
diff mbox series

Patch

diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk
index a0cdcafd4e..8d902863b4 100644
--- a/package/uboot-tools/uboot-tools.mk
+++ b/package/uboot-tools/uboot-tools.mk
@@ -121,9 +121,15 @@  define HOST_UBOOT_TOOLS_GENERATE_ENV_DEFAULTS
 		$(UBOOT_SRCDIR) \
 		> $(UBOOT_TOOLS_GENERATE_ENV_FILE)
 endef
-HOST_UBOOT_TOOLS_DEPENDENCIES += uboot
 endif #UBOOT_TOOLS_GENERATE_ENV_FILE:BR2_TARGET_UBOOT
 
+ifeq ($(BR2_TARGET_UBOOT),y)
+# a user provided BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SOURCE may be located in
+# the u-boot sources, via $(UBOOT_DIR), so we need this dependency in either
+# case.
+HOST_UBOOT_TOOLS_DEPENDENCIES += uboot
+endif #BR2_TARGET_UBOOT
+
 ifeq ($(BR_BUILDING),y)
 ifeq ($(call qstrip,$(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE)),)
 $(error Please provide U-Boot environment size (BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE_SIZE setting))