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

Masahiro Yamada yamada.masahiro at socionext.com
Tue May 19 06:33:46 CEST 2015


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.

moveconfig.failed always prefixes _defconfig,
so we need not to do so again, I think. (or will we make this file by hand?)

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)



>      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',





-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list