From 5168ecf6545ddde03bb801e4200d8a6563789be3 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 9 Nov 2017 12:12:04 +0000 Subject: verify-bashisms: use argparse, add verbose option Signed-off-by: Ross Burton --- scripts/verify-bashisms | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/scripts/verify-bashisms b/scripts/verify-bashisms index dab64ef501..a979bd2965 100755 --- a/scripts/verify-bashisms +++ b/scripts/verify-bashisms @@ -89,7 +89,13 @@ def get_tinfoil(): return tinfoil if __name__=='__main__': - import shutil + import argparse, shutil + + parser = argparse.ArgumentParser(description='Bashim detector for shell fragments in recipes.') + parser.add_argument("recipes", metavar="RECIPE", nargs="*", help="recipes to check (if not specified, all will be checked)") + parser.add_argument("--verbose", default=False, action="store_true") + args = parser.parse_args() + if shutil.which("checkbashisms.pl") is None: print("Cannot find checkbashisms.pl on $PATH, get it from https://anonscm.debian.org/cgit/collab-maint/devscripts.git/plain/scripts/checkbashisms.pl") sys.exit(1) @@ -99,6 +105,8 @@ if __name__=='__main__': # bitbake server is crucial, don't change it. def func(item): (filename, key, lineno), script = item + if args.verbose: + print("Scanning %s:%s" % (filename, key)) return process(filename, key, lineno, script) import multiprocessing @@ -110,9 +118,8 @@ if __name__=='__main__': # recipecaches to handle multiconfig environments pkg_pn = tinfoil.cooker.recipecaches[""].pkg_pn - # TODO: use argparse and have --help - if len(sys.argv) > 1: - initial_pns = sys.argv[1:] + if args.recipes: + initial_pns = args.recipes else: initial_pns = sorted(pkg_pn) -- cgit 1.2.3-korg