summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-06-13 16:43:41 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-06-15 08:35:01 +0100
commitb41b2fa4dd69fdc8946bfa1d2cb4a20b68435ddc (patch)
treeef03f21aafa4380e29bf83d89511b52377fe5391
parent5c1b9fd54158bea702b6a0354948b00089975bda (diff)
downloadpoky-b41b2fa4dd69fdc8946bfa1d2cb4a20b68435ddc.tar.gz
scripts: ensure not specifying subcommand shows help text
With Python 2, argparse subparsers behaviour in Python 2 was to print the usage information if the subparsers argument wasn't specified. However, with Python 3.2.3 and later a subparsers argument is not required by default, leading to errors when no arguments are specified: AttributeError: 'Namespace' object has no attribute 'func' Restore the previous desired behaviour of showing the help text for devtool, recipetool and the devtool-stress script by setting subparsers.required to True. (From OE-Core rev: d36fdea1a7f32d97187e0e9e6d701ae8fa304e8f) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xscripts/contrib/devtool-stress.py1
-rwxr-xr-xscripts/devtool1
-rwxr-xr-xscripts/recipetool1
3 files changed, 3 insertions, 0 deletions
diff --git a/scripts/contrib/devtool-stress.py b/scripts/contrib/devtool-stress.py
index 2723491b4a..ab77a2d1f6 100755
--- a/scripts/contrib/devtool-stress.py
+++ b/scripts/contrib/devtool-stress.py
@@ -213,6 +213,7 @@ def main():
213 parser.add_argument('-s', '--skip', help='Skip specified recipes (comma-separated without spaces, wildcards allowed)', metavar='PNLIST') 213 parser.add_argument('-s', '--skip', help='Skip specified recipes (comma-separated without spaces, wildcards allowed)', metavar='PNLIST')
214 parser.add_argument('-c', '--skip-classes', help='Skip recipes inheriting specified classes (comma-separated) - default %(default)s', metavar='CLASSLIST', default='native,nativesdk,cross,cross-canadian,image,populate_sdk,meta,packagegroup') 214 parser.add_argument('-c', '--skip-classes', help='Skip recipes inheriting specified classes (comma-separated) - default %(default)s', metavar='CLASSLIST', default='native,nativesdk,cross,cross-canadian,image,populate_sdk,meta,packagegroup')
215 subparsers = parser.add_subparsers(title='subcommands', metavar='<subcommand>') 215 subparsers = parser.add_subparsers(title='subcommands', metavar='<subcommand>')
216 subparsers.required = True
216 217
217 parser_modify = subparsers.add_parser('modify', 218 parser_modify = subparsers.add_parser('modify',
218 help='Run "devtool modify" followed by a build with bitbake on matching recipes', 219 help='Run "devtool modify" followed by a build with bitbake on matching recipes',
diff --git a/scripts/devtool b/scripts/devtool
index 63d2ef9053..a93a11f341 100755
--- a/scripts/devtool
+++ b/scripts/devtool
@@ -301,6 +301,7 @@ def main():
301 tinfoil.shutdown() 301 tinfoil.shutdown()
302 302
303 subparsers = parser.add_subparsers(dest="subparser_name", title='subcommands', metavar='<subcommand>') 303 subparsers = parser.add_subparsers(dest="subparser_name", title='subcommands', metavar='<subcommand>')
304 subparsers.required = True
304 305
305 subparsers.add_subparser_group('sdk', 'SDK maintenance', -2) 306 subparsers.add_subparser_group('sdk', 'SDK maintenance', -2)
306 subparsers.add_subparser_group('advanced', 'Advanced', -1) 307 subparsers.add_subparser_group('advanced', 'Advanced', -1)
diff --git a/scripts/recipetool b/scripts/recipetool
index 0e8bffb5c0..17233d4ef0 100755
--- a/scripts/recipetool
+++ b/scripts/recipetool
@@ -60,6 +60,7 @@ def main():
60 parser.add_argument('-h', '--help', action='help', default=argparse.SUPPRESS, 60 parser.add_argument('-h', '--help', action='help', default=argparse.SUPPRESS,
61 help='show this help message and exit') 61 help='show this help message and exit')
62 subparsers = parser.add_subparsers(title='subcommands', metavar='<subcommand>') 62 subparsers = parser.add_subparsers(title='subcommands', metavar='<subcommand>')
63 subparsers.required = True
63 64
64 if global_args.debug: 65 if global_args.debug:
65 logger.setLevel(logging.DEBUG) 66 logger.setLevel(logging.DEBUG)