[U-Boot] [PATCH v3 5/5] RFC: tegra: Convert to using environment files

Simon Glass sjg at chromium.org
Mon Oct 28 23:15:02 CET 2013


Hi Stephen,

On Mon, Oct 28, 2013 at 3:20 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
> On 10/28/2013 02:50 PM, Simon Glass wrote:
>> Hi Stephen,
>>
>> On Mon, Oct 28, 2013 at 2:41 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
>>> On 10/28/2013 02:34 PM, Simon Glass wrote:
>>>> Hi Stephen,
>>>>
>>>> On Mon, Oct 28, 2013 at 1:59 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
>>>>> On 10/25/2013 11:01 PM, Simon Glass wrote:
>>>>>> This seems more intuitive that the current #define way of doing things.
>>>>>> The resulting code is shorter, avoids the quoting and line continuation
>>>>>> pain, and also improves the clumsy way that stdio variables are created:
>
>>>>>> diff --git a/board/nvidia/env/common.env b/board/nvidia/env/common.env
>>>>>
>>>>>> +bootcmd_mmc0=setenv devnum 0; run mmc_boot
>>>>>> +bootcmd_mmc1=setenv devnum 1; run mmc_booxt
>>>>>> +boot_targets+= mmc1 mmc0
>>>>>
>>>>> I still don't see why = needs no space before/after, but += needs no
>>>>> space before, but a space after. That simply looks like a typo to me,
>>>>> and I'd be inclined to fix it were I editing this file. If a sed script
>>>>> can't handle more flexible white-space, perhaps use Python or perhaps
>>>>> Perl instead?
>>>>
>>>> The old code was similar, in that it had a space after the quote.
>>>>
>>>> We need the string to contain "mmc0 mmc1 usb0 dhcp" or perhaps "mmc0
>>>> mmc1". I chose to add a space at the start of each string, but
>>>> certainly we need a space somewhere, or we get "mmc0mmc1usb0dhcp".
>>>
>>> Oh, I see. I thought the space was part of the += syntax, not the value.
>>> Perhaps to make that more obvious, you could allow:
>>>
>>> # No space added to value
>>> var+=value
> ...
>>> var += "value1 value2"
>>>
>>> # One space included at start of addition to value
>>> var+=" value1 value2"
>>> var+= " value1 value2"
>>> var +=" value1 value2"
>>> var += " value1 value2"
>>
>> I was deliberately trying to avoid using quotes, since then it is
>> really hard when you actually mean 'quote'.
>
> Hmm. On the other hand, quoting is standard syntax in any scripting
> language.
>
>> For example at present you can put this in an env script at present,
>> but how would you do it if quotes are special?
>
> Just escape it; " goes around the string and \" or "" within the string.
> This seems pretty common...

Quoting quotes is currently needed for the header file. So how would
my feature actually improve things?

Between this and Wolfgang's \ at newline I am wondering if this
feature will actually improve anything? It we are really going to
insist on making the .env file like a C string then I'm not sure what
we gain.

Regards,
Simon


More information about the U-Boot mailing list