[U-Boot] [PATCH v4 03/10] moveconfig: Add a parameter to accept a list to build

Masahiro Yamada yamada.masahiro at socionext.com
Wed May 20 05:01:00 CEST 2015


2015-05-20 2:58 GMT+09:00 Joe Hershberger <joe.hershberger at gmail.com>:
> Hi Masahiro-san,
>
> On Mon, May 18, 2015 at 11:33 PM, Masahiro Yamada
> <yamada.masahiro at socionext.com> wrote:
>> 2015-05-16 6:40 GMT+09:00 Joe Hershberger <joe.hershberger at ni.com>:
>>> This is helpful to re-attempt to move failed boards from a previous run
>>> without starting over.
>>>
>>> Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
>>>
>>> ---
>>>
>>> Changes in v4: None
>>> Changes in v3:
>>> -Fixed command line options order (alphabetize)
>>>
>>> Changes in v2:
>>> -New for version 2
>>>
>>>  tools/moveconfig.py | 26 ++++++++++++++++++++------
>>>  1 file changed, 20 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/tools/moveconfig.py b/tools/moveconfig.py
>>> index d3009de..3f31e81 100755
>>> --- a/tools/moveconfig.py
>>> +++ b/tools/moveconfig.py
>>> @@ -135,6 +135,9 @@ Available options
>>>     Surround each portion of the log with escape sequences to display it
>>>     in color on the terminal.
>>>
>>> + -d, --defconfigs
>>> +  Specify a file containing a list of defconfigs to move
>>> +
>>>   -n, --dry-run
>>>     Peform a trial run that does not make any changes.  It is useful to
>>>     see what is going to happen before one actually runs it.
>>> @@ -734,12 +737,21 @@ def move_config(config_attrs, options):
>>>                                                  config_attr['type'],
>>>                                                  config_attr['default'])
>>>
>>> -    # All the defconfig files to be processed
>>> -    defconfigs = []
>>> -    for (dirpath, dirnames, filenames) in os.walk('configs'):
>>> -        dirpath = dirpath[len('configs') + 1:]
>>> -        for filename in fnmatch.filter(filenames, '*_defconfig'):
>>> -            defconfigs.append(os.path.join(dirpath, filename))
>>> +    if options.defconfigs:
>>> +        defconfigs = [line.strip() for line in open(options.defconfigs, 'r')]
>>> +        for i, defconfig in enumerate(defconfigs):
>>> +            if not defconfig.endswith('_defconfig'):
>>> +                defconfigs[i] = defconfig + '_defconfig'
>>> +            if not os.path.exists(os.path.join('configs', defconfigs[i])):
>>> +                sys.exit('%s - defconfig does not exist. Stopping.' %
>>> +                         defconfigs[i])
>>
>>
>> 'r' is redundant for open() because read-mode is default.
>
> OK.
>
>> moveconfig.failed always prefixes _defconfig,
>> so we need not to do so again, I think. (or will we make this file by hand?)
>
> I have done both moveconfig.failed as well as a hand-written file for
> testing certain boards.  That's why I added both the append
> '_defconfig' as well as the check for it actually existing.
>
>> Then, we can drop enumarate and write the error message within 80 columns.
>>
>>     if options.defconfigs:
>>         defconfigs = [line.strip() for line in open(options.defconfigs)]
>>         for defconfig in defconfigs:
>>             if not os.path.exists(os.path.join('configs', defconfig)):
>>                 sys.exit('%s: defconfig does not exist. Stopping.' % defconfig)
>
> I think we should keep the check for endswith('_defconfig').


OK, then.  Let's keep it.



-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list