diff options
| author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-06-13 16:43:41 +1200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-06-15 08:35:01 +0100 |
| commit | b41b2fa4dd69fdc8946bfa1d2cb4a20b68435ddc (patch) | |
| tree | ef03f21aafa4380e29bf83d89511b52377fe5391 | |
| parent | 5c1b9fd54158bea702b6a0354948b00089975bda (diff) | |
| download | poky-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-x | scripts/contrib/devtool-stress.py | 1 | ||||
| -rwxr-xr-x | scripts/devtool | 1 | ||||
| -rwxr-xr-x | scripts/recipetool | 1 |
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) |
