[PATCH] Replace echo -n's used in environment processing with touch
Simon Glass
sjg at chromium.org
Wed Feb 9 18:16:18 CET 2022
Hi Qthedev,
On Wed, 9 Feb 2022 at 08:25, qthedev <qthedev at protonmail.com> wrote:
>
> On Monday, February 7th, 2022 at 11:22 PM, Simon Glass <sjg at chromium.org> wrote:
>
> > Hi,
> >
> > On Sat, 5 Feb 2022 at 06:49, qthedev qthedev at protonmail.com wrote:
> >
> > > echo -n does not give the intended effect when invoked in macOS through /bin/sh, which is the shell make uses by default, see "https://stackoverflow.com/questions/11675070/makefile-echo-n-not-working" for a detailed explanation. In this case, it resulted in "-n" being written to env.txt and env.in even though they should be empty, which caused compilation to fail with "Your board uses a text-file environment, so must not define CONFIG_EXTRA_ENV_SETTINGS".
> > >
> > > This patch prevents the error by replacing echo -n's with touch, as they are used to create empty files in these cases.
> >
> > Please word-wrap your commit message and use a real name :-)
> >
> > > diff --git a/Makefile b/Makefile
> > >
> > > index 184223ec63..3101aa0132 100644
> > >
> > > --- a/Makefile
> > >
> > > +++ b/Makefile
> > >
> > > @@ -1843,7 +1843,7 @@ quiet_cmd_gen_envp = ENVP $@
> > >
> > > -I$(srctree)/arch/$(ARCH)/include \
> > >
> > > $< -o $@; \
> > >
> > > else \
> > >
> > > - echo -n >$@ ; \\
> > >
> > >
> > >
> > > - touch $@ ; \\
> > > fi
> > >
> > >
> > >
> > > include/generated/env.in: include/generated/env.txt FORCE
> > >
> > > $(call cmd,gen_envp)
> > >
> > > @@ -1860,7 +1860,7 @@ quiet_cmd_envc = ENVC $@
> > >
> > > elif [ -n "$(ENV_SOURCE_FILE)" ]; then \
> > >
> > > echo "Missing file $(ENV_FILE_CFG)"; \
> > >
> > > else \
> > >
> > > - echo -n >$@ ; \\
> > >
> > >
> > >
> > > - touch $@ ; \\
> > > fi
> > >
> > >
> > >
> > > include/generated/env.txt: $(wildcard $(ENV_FILE)) FORCE
> >
> > Regards,
> >
> > Simon
>
> Hi,
>
> I am not able to use my real name for privacy reasons, I hope it is not a problem.
> Here is the patch with a word wrapped version of the commit message:
>
> echo -n does not give the intended effect when invoked in macOS
> through /bin/sh, which is the shell make uses by default, see
> "https://stackoverflow.com/questions/11675070/makefile-echo-n-not-working"
> for a detailed explanation. In this case, it resulted in "-n" being
> written to env.txt and env.in even though they should be empty, which
> caused compilation to fail with "Your board uses a text-file environment,
> so must not define CONFIG_EXTRA_ENV_SETTINGS".
>
> This patch prevents the error by replacing echo -n's with touch,
> as they are used to create empty files in these cases.
>
> diff --git a/Makefile b/Makefile
> index 184223ec63..3101aa0132 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1843,7 +1843,7 @@ quiet_cmd_gen_envp = ENVP $@
> -I$(srctree)/arch/$(ARCH)/include \
> $< -o $@; \
> else \
> - echo -n >$@ ; \
> + touch $@ ; \
> fi
> include/generated/env.in: include/generated/env.txt FORCE
> $(call cmd,gen_envp)
> @@ -1860,7 +1860,7 @@ quiet_cmd_envc = ENVC $@
> elif [ -n "$(ENV_SOURCE_FILE)" ]; then \
> echo "Missing file $(ENV_FILE_CFG)"; \
> else \
> - echo -n >$@ ; \
> + touch $@ ; \
> fi
>
> include/generated/env.txt: $(wildcard $(ENV_FILE)) FORCE
I don't think we can accept anonymous patches since the sign-off is
not meaningful in that situation. Perhaps you could get someone else
to submit it for you and sign off?
Information about submitting patches is here:
https://www.denx.de/wiki/U-Boot/Patches
+U-Boot Mailing List
+Tom Rini for thoughts on this
Regards,
Simon
More information about the U-Boot
mailing list