[PATCH] env: Avoid using a leftover text-environment file

If include/generated/environment.h exists (perhaps leftover from a build of another board) it is used, even if the board currently being built does not have a text environment.
This causes a build error. Fix it by emptying the file if it should not be there.
Fixes: https://source.denx.de/u-boot/u-boot/-/issues/9 Signed-off-by: Simon Glass sjg@chromium.org Reported-by: Sean Anderson seanga2@gmail.com ---
Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index 9ef34ca4b7f..2351d6dacd2 100644 --- a/Makefile +++ b/Makefile @@ -1834,7 +1834,9 @@ ENV_FILE := $(if $(ENV_SOURCE_FILE),$(ENV_FILE_CFG),$(wildcard $(ENV_FILE_BOARD)
# Run the environment text file through the preprocessor, but only if it is # non-empty, to save time and possible build errors if something is wonky with -# the board +# the board. +# If there is no ENV_FILE, produce an empty output file, to prevent a previous +# build's file being used in the case of in-tree builds. quiet_cmd_gen_envp = ENVP $@ cmd_gen_envp = \ if [ -s "$(ENV_FILE)" ]; then \ @@ -1845,6 +1847,7 @@ quiet_cmd_gen_envp = ENVP $@ -I$(srctree)/arch/$(ARCH)/include \ $< -o $@; \ else \ + rm $@; \ touch $@ ; \ fi include/generated/env.in: include/generated/env.txt FORCE

On 3/12/22 12:37 AM, Simon Glass wrote:
If include/generated/environment.h exists (perhaps leftover from a build of another board) it is used, even if the board currently being built does not have a text environment.
This causes a build error. Fix it by emptying the file if it should not be there.
Fixes: https://source.denx.de/u-boot/u-boot/-/issues/9 Signed-off-by: Simon Glass sjg@chromium.org Reported-by: Sean Anderson seanga2@gmail.com
Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index 9ef34ca4b7f..2351d6dacd2 100644 --- a/Makefile +++ b/Makefile @@ -1834,7 +1834,9 @@ ENV_FILE := $(if $(ENV_SOURCE_FILE),$(ENV_FILE_CFG),$(wildcard $(ENV_FILE_BOARD)
# Run the environment text file through the preprocessor, but only if it is # non-empty, to save time and possible build errors if something is wonky with -# the board +# the board. +# If there is no ENV_FILE, produce an empty output file, to prevent a previous +# build's file being used in the case of in-tree builds. quiet_cmd_gen_envp = ENVP $@ cmd_gen_envp = \ if [ -s "$(ENV_FILE)" ]; then \ @@ -1845,6 +1847,7 @@ quiet_cmd_gen_envp = ENVP $@ -I$(srctree)/arch/$(ARCH)/include \ $< -o $@; \ else \
touch $@ ; \ fi include/generated/env.in: include/generated/env.txt FORCErm $@; \
Thanks!
Tested-by: Sean Anderson seanga2@gmail.com

Hi Tom,
On 3/12/22 12:37 AM, Simon Glass wrote:
If include/generated/environment.h exists (perhaps leftover from a build of another board) it is used, even if the board currently being built does not have a text environment.
This causes a build error. Fix it by emptying the file if it should not be there.
Fixes: https://source.denx.de/u-boot/u-boot/-/issues/9 Signed-off-by: Simon Glass sjg@chromium.org Reported-by: Sean Anderson seanga2@gmail.com
Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index 9ef34ca4b7f..2351d6dacd2 100644 --- a/Makefile +++ b/Makefile @@ -1834,7 +1834,9 @@ ENV_FILE := $(if $(ENV_SOURCE_FILE),$(ENV_FILE_CFG),$(wildcard $(ENV_FILE_BOARD)
# Run the environment text file through the preprocessor, but only if it is # non-empty, to save time and possible build errors if something is wonky with -# the board +# the board. +# If there is no ENV_FILE, produce an empty output file, to prevent a previous +# build's file being used in the case of in-tree builds. quiet_cmd_gen_envp = ENVP $@ cmd_gen_envp = \ if [ -s "$(ENV_FILE)" ]; then \ @@ -1845,6 +1847,7 @@ quiet_cmd_gen_envp = ENVP $@ -I$(srctree)/arch/$(ARCH)/include \ $< -o $@; \ else \
touch $@ ; \ fi include/generated/env.in: include/generated/env.txt FORCErm $@; \
Can you pick this up for the release? I find myself needing to dig it up and apply it every time I build sandbox then go back to another board.
--Sean

On Fri, Mar 11, 2022 at 10:37:23PM -0700, Simon Glass wrote:
If include/generated/environment.h exists (perhaps leftover from a build of another board) it is used, even if the board currently being built does not have a text environment.
This causes a build error. Fix it by emptying the file if it should not be there.
Fixes: https://source.denx.de/u-boot/u-boot/-/issues/9 Signed-off-by: Simon Glass sjg@chromium.org Reported-by: Sean Anderson seanga2@gmail.com Tested-by: Sean Anderson seanga2@gmail.com
Applied to u-boot/master, thanks!
participants (3)
-
Sean Anderson
-
Simon Glass
-
Tom Rini