u-boot: Use new makefile target for u-boot-initial-env where available

Message ID c1951d98-f0b4-4522-137b-2a4cbc88d61c@siemens.com
State Accepted, archived
Headers show
Series u-boot: Use new makefile target for u-boot-initial-env where available | expand

Commit Message

Jan Kiszka June 21, 2021, 8 a.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

Since 2019.07, u-boot-initial-env is available as build target. Latest
U-Boot has troubles running the get_default_envs.sh script, so better 
switch to the official target where available.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 meta/recipes-bsp/u-boot/files/debian/rules | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Jan Kiszka June 22, 2021, 12:26 a.m. UTC | #1
On 21.06.21 18:00, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
> 
> Since 2019.07, u-boot-initial-env is available as build target. Latest
> U-Boot has troubles running the get_default_envs.sh script, so better 
> switch to the official target where available.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>  meta/recipes-bsp/u-boot/files/debian/rules | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-bsp/u-boot/files/debian/rules b/meta/recipes-bsp/u-boot/files/debian/rules
> index 85bda91..a5c2cd2 100755
> --- a/meta/recipes-bsp/u-boot/files/debian/rules
> +++ b/meta/recipes-bsp/u-boot/files/debian/rules
> @@ -3,7 +3,7 @@
>  # Debian rules for custom U-Boot build
>  #
>  # This software is a part of ISAR.
> -# Copyright (c) Siemens AG, 2018
> +# Copyright (c) Siemens AG, 2018-2021
>  #
>  # SPDX-License-Identifier: MIT
>  
> @@ -15,7 +15,11 @@ endif
>  override_dh_auto_build:
>  	$(MAKE) $(PARALLEL_MAKE) $(U_BOOT_CONFIG)
>  	$(MAKE) $(PARALLEL_MAKE) ${U_BOOT_BIN}
> -	./scripts/get_default_envs.sh >u-boot-initial-env
> +	$(MAKE) -n u-boot-initial-env >/dev/null 2>&1; if [ $$? -ne 2 ]; then \
> +		$(MAKE) $(PARALLEL_MAKE) u-boot-initial-env; \
> +	else \
> +		./scripts/get_default_envs.sh >u-boot-initial-env; \
> +	fi
>  	$(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 tools-only envtools
>  
>  override_dh_auto_install:
> 

Meanwhile, the u-boot issue is being fixed [1], but I still think we
should go this way.

Jan

[1] https://www.mail-archive.com/u-boot@lists.denx.de/msg409446.html
Harald Seiler June 22, 2021, 4:09 a.m. UTC | #2
Hi,

On Mon, 2021-06-21 at 18:00 +0200, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
> 
> Since 2019.07, u-boot-initial-env is available as build target. Latest
> U-Boot has troubles running the get_default_envs.sh script, so better 
> switch to the official target where available.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>  meta/recipes-bsp/u-boot/files/debian/rules | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-bsp/u-boot/files/debian/rules b/meta/recipes-bsp/u-boot/files/debian/rules
> index 85bda91..a5c2cd2 100755
> --- a/meta/recipes-bsp/u-boot/files/debian/rules
> +++ b/meta/recipes-bsp/u-boot/files/debian/rules
> @@ -3,7 +3,7 @@
>  # Debian rules for custom U-Boot build
>  #
>  # This software is a part of ISAR.
> -# Copyright (c) Siemens AG, 2018
> +# Copyright (c) Siemens AG, 2018-2021
>  #
>  # SPDX-License-Identifier: MIT
>  
> 
> @@ -15,7 +15,11 @@ endif
>  override_dh_auto_build:
>  	$(MAKE) $(PARALLEL_MAKE) $(U_BOOT_CONFIG)
>  	$(MAKE) $(PARALLEL_MAKE) ${U_BOOT_BIN}
> -	./scripts/get_default_envs.sh >u-boot-initial-env
> +	$(MAKE) -n u-boot-initial-env >/dev/null 2>&1; if [ $$? -ne 2 ]; then \
> +		$(MAKE) $(PARALLEL_MAKE) u-boot-initial-env; \
> +	else \
> +		./scripts/get_default_envs.sh >u-boot-initial-env; \
> +	fi
>  	$(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 tools-only envtools
>  
> 
>  override_dh_auto_install:
> -- 
> 2.26.2

There is a slight difference between the two versions (why are there
two?!), where get_default_envs.sh sorts the env entries while the make
target does not.  I do not think this should matter here, though.

Reviewed-by: Harald Seiler <hws@denx.de>
Anton Mikanovich July 26, 2021, 6:56 a.m. UTC | #3
21.06.2021 19:00, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
>
> Since 2019.07, u-boot-initial-env is available as build target. Latest
> U-Boot has troubles running the get_default_envs.sh script, so better
> switch to the official target where available.
>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>

Applied to next, thanks.

Patch

diff --git a/meta/recipes-bsp/u-boot/files/debian/rules b/meta/recipes-bsp/u-boot/files/debian/rules
index 85bda91..a5c2cd2 100755
--- a/meta/recipes-bsp/u-boot/files/debian/rules
+++ b/meta/recipes-bsp/u-boot/files/debian/rules
@@ -3,7 +3,7 @@ 
 # Debian rules for custom U-Boot build
 #
 # This software is a part of ISAR.
-# Copyright (c) Siemens AG, 2018
+# Copyright (c) Siemens AG, 2018-2021
 #
 # SPDX-License-Identifier: MIT
 
@@ -15,7 +15,11 @@  endif
 override_dh_auto_build:
 	$(MAKE) $(PARALLEL_MAKE) $(U_BOOT_CONFIG)
 	$(MAKE) $(PARALLEL_MAKE) ${U_BOOT_BIN}
-	./scripts/get_default_envs.sh >u-boot-initial-env
+	$(MAKE) -n u-boot-initial-env >/dev/null 2>&1; if [ $$? -ne 2 ]; then \
+		$(MAKE) $(PARALLEL_MAKE) u-boot-initial-env; \
+	else \
+		./scripts/get_default_envs.sh >u-boot-initial-env; \
+	fi
 	$(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 tools-only envtools
 
 override_dh_auto_install: