From mboxrd@z Thu Jan 1 00:00:00 1970 From: Masahiro Yamada Date: Tue, 19 May 2015 13:33:46 +0900 Subject: [U-Boot] [PATCH v4 03/10] moveconfig: Add a parameter to accept a list to build In-Reply-To: <1431726052-6519-3-git-send-email-joe.hershberger@ni.com> References: <1431556137-8426-1-git-send-email-joe.hershberger@ni.com> <1431726052-6519-1-git-send-email-joe.hershberger@ni.com> <1431726052-6519-3-git-send-email-joe.hershberger@ni.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 2015-05-16 6:40 GMT+09:00 Joe Hershberger : > This is helpful to re-attempt to move failed boards from a previous run > without starting over. > > Signed-off-by: Joe Hershberger > > --- > > 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