binman: Allow verbose output with all commands

At present the verbose flag only works for the 'build' command. This is
not intended, nor is it useful. Update the code to support the verbose
flag and make use of a command exception handler.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: rebase the patch against u-boot-x86/next to get it applied cleanly]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Simon Glass
2019-09-15 18:10:36 -06:00
committed by Bin Meng
parent 4e8de068a3
commit 7bc4f0f883

View File

@@ -468,29 +468,23 @@ def Binman(args):
command.Run(pager, fname)
return 0
if args.cmd == 'ls':
if args.cmd in ['ls', 'extract', 'replace']:
try:
tout.Init(args.verbosity)
tools.PrepareOutputDir(None)
ListEntries(args.image, args.paths)
finally:
tools.FinaliseOutputDir()
return 0
if args.cmd == 'ls':
ListEntries(args.image, args.paths)
if args.cmd == 'extract':
try:
tools.PrepareOutputDir(None)
ExtractEntries(args.image, args.filename, args.outdir, args.paths,
not args.uncompressed)
finally:
tools.FinaliseOutputDir()
return 0
if args.cmd == 'extract':
ExtractEntries(args.image, args.filename, args.outdir, args.paths,
not args.uncompressed)
if args.cmd == 'replace':
try:
tools.PrepareOutputDir(None)
ReplaceEntries(args.image, args.filename, args.indir, args.paths,
do_compress=not args.compressed,
allow_resize=not args.fix_size, write_map=args.map)
if args.cmd == 'replace':
ReplaceEntries(args.image, args.filename, args.indir, args.paths,
do_compress=not args.compressed,
allow_resize=not args.fix_size, write_map=args.map)
except:
raise
finally:
tools.FinaliseOutputDir()
return 0