[PATCH v6 4/7] env: Allow U-Boot scripts to be placed in a .env file

Simon Glass sjg at chromium.org
Mon Oct 18 20:12:21 CEST 2021

Hi Wolfgang,

On Mon, 18 Oct 2021 at 05:59, Wolfgang Denk <wd at denx.de> wrote:
> Dear Simon,
> In message <CAPnjgZ106dBqzJdVYpufp4mztf3_eFoX9isSm=W_c5uDoFJVGA at mail.gmail.com> you wrote:
> >
> > > I really think your fixed filename proposal does not work well in
> > > reality.  The file name should be Kconfig configurable. See [1]
> > > for details.
> > >
> > > [1] https://lists.denx.de/pipermail/u-boot/2021-October/462668.html
> >
> > Yes I saw that but I forgot to look at it. I think it makes sense - we
> > do that with devicetree, for example.
> >
> > Is that the only thing holding you back?
> Basically yes - the only other concerns I have is about this +=
> construct which makes the '+' character an illegal character for
> environment variable names, but only when used at the end of the
> variable.  This is anything but nice or consistent. Iwonder what
> happens with notations like these:
>         foo+=bar        -> "bar" gets appended to current value of "foo"
> But what for:
>         foo\+=bar
> or
>         foo+ = bar
> ?

Can we just ban + ?

In the above, foo\+ gives an unknown escape sequence from the C
preprocessor, then the whole line is ignored by the script

foo+ = bar   produes a variable called "foo+ " in the environment with
the value " bar" so you probably don't want that.

> And please see also my comments about changing the autostart
> functionality for the user.

Yes I saw that and I think it is OK to change it. What do you think?

> > I haven't seen any positive comments to this series yet...
> Maybe many long-term users of U-Boot don't see the current situation
> as such a big problem?  I have no idea.

My original motivation was the complexity of getting the env you want
using #define

My current motivation is to complete the CONFIG migration, now in its 8th year.


More information about the U-Boot mailing list