[U-Boot] [PATCH v4 03/10] moveconfig: Add a parameter to accept a list to build
Joe Hershberger
joe.hershberger at gmail.com
Tue May 19 19:58:41 CEST 2015
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').
>> slots = Slots(config_attrs, options)
>>
>> @@ -840,6 +852,8 @@ def main():
>> # Add options here
>> parser.add_option('-c', '--color', action='store_true', default=False,
>> help='display the log in color')
>> + parser.add_option('-d', '--defconfigs', type='string',
>> + help='a file containing a list of defconfigs to move')
>> parser.add_option('-n', '--dry-run', action='store_true', default=False,
>> help='perform a trial run (show log with no changes)')
>> parser.add_option('-e', '--exit-on-error', action='store_true',
Cheers,
-Joe
More information about the U-Boot
mailing list