[U-Boot] [PATCH v7 5/5] RFC: Deprecate MAKEALL

Simon Glass sjg at chromium.org
Sat Aug 23 05:47:13 CEST 2014


Hi York,

On 15 August 2014 10:34, York Sun <yorksun at freescale.com> wrote:
> On 08/15/2014 09:20 AM, Stephen Warren wrote:
>> On 08/15/2014 10:13 AM, Simon Glass wrote:
>>> Hi Stephen,
>>>
>>> On 15 August 2014 09:46, Stephen Warren <swarren at wwwdotorg.org> wrote:
>>>>
>>>> On 08/14/2014 05:35 PM, Simon Glass wrote:
>>>>>
>>>>> Since buildman now includes most of the features of MAKEALL it is probably
>>>>> time to talk about deprecating MAKEALL.
>>>>
>>>>
>>>> I guess I don't care too much, but I would like to point out that when I mentioned the annoyance of having to change my scripts:
>>>>
>>>> from:
>>>> make ARCH=arm jetson_tk1_config
>>>>
>>>> to:
>>>> make ARCH=arm jetson_tk1_defconfig
>>>>
>>>> ... together with having to detect which version to use since different U-Boot commits required a difference command,  one of the answers was that "MAKEALL jetson_tk1" still worked the same on both old and new git commits, and could be used as a replacement. This patch would invalidate that.
>>>
>>> Well I suppose you could use:
>>>
>>>     ./tools/buildman/buildman jetson_tk1
>>>
>>> to get the same effect.
>>
>> True, although that command has been available for a much shorter time
>> than MAKEALL...
>>
>> Replacing the MAKEALL script body with a call to buildman might solve
>> that? I'm not sure that buildman puts the build results in the same place.
>>
>> But like I said, I'm not too worried about this personally, so there's
>> probably no need to change anything.
>>
> I heavily rely on MAKEALL. I have tested buildman recently to confirm it has
> most features I need to replace MAKEALL with some command line switches. But I
> need to adjust my testing due to some difference
>
> 1) The log is different
> I can see the err log file, but not the regular log. Buildman runs silently by
> default.

That's right. It's a little tricky to change. Buildman relies on
stderr being empty as a signal that there are no warnings. Even if we
remove the use of make's -s flag then we will get the log in stdout
and the warnings in stderr. They will not be interleaved. We could fix
this by forcing stdout and stderr to the same file, but then we don't
know which is a warning entry and which is just normal output. In fact
we might be able to use leading space as a signal of normal output
most of the time, but I'm not sure.

Buildman relies on being able to sort and uniq the stderr output as a
way of collating warnings and errors, so extraneous stuff just gets in
the way.

Also, now that we have Kbuild we get a full path on each filename that
is built. It used to be that you had to check the directory enter/exit
messages to figure out the source file for warnings and errors, but
that isn't the case now.

In short I don't think this is easy to do correctly, and I'm not sure
how useful it is anyway.

>
> 2) The return value of buildman doesn't tell if an error happens.
> I have to search for err file to identify if any error.

OK I'll make buildman exit with a suitable return code.

>
> I only tested the features I used most.

One day I may expand the unit test coverage which will make it easier
to add new features.

Regards,
Simon


More information about the U-Boot mailing list