diff options
Diffstat (limited to 'scripts/lib/devtool/upgrade.py')
| -rw-r--r-- | scripts/lib/devtool/upgrade.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py index 202007793b..42a4c0e4bf 100644 --- a/scripts/lib/devtool/upgrade.py +++ b/scripts/lib/devtool/upgrade.py | |||
| @@ -600,6 +600,20 @@ def latest_version(args, config, basepath, workspace): | |||
| 600 | tinfoil.shutdown() | 600 | tinfoil.shutdown() |
| 601 | return 0 | 601 | return 0 |
| 602 | 602 | ||
| 603 | def check_upgrade_status(args, config, basepath, workspace): | ||
| 604 | if not args.recipe: | ||
| 605 | logger.info("Checking the upstream status for all recipes may take a few minutes") | ||
| 606 | results = oe.recipeutils.get_recipe_upgrade_status(args.recipe) | ||
| 607 | for result in results: | ||
| 608 | # pn, update_status, current, latest, maintainer, latest_commit, no_update_reason | ||
| 609 | if result[1] != 'MATCH': | ||
| 610 | logger.info("{:25} {:15} {:15} {} {} {}".format( result[0], | ||
| 611 | result[2], | ||
| 612 | result[1] if result[1] != 'UPDATE' else (result[3] if not result[3].endswith("new-commits-available") else "new commits"), | ||
| 613 | result[4], | ||
| 614 | result[5] if result[5] != 'N/A' else "", | ||
| 615 | "cannot be updated due to: %s" %(result[6]) if result[6] else "")) | ||
| 616 | |||
| 603 | def register_commands(subparsers, context): | 617 | def register_commands(subparsers, context): |
| 604 | """Register devtool subcommands from this plugin""" | 618 | """Register devtool subcommands from this plugin""" |
| 605 | 619 | ||
| @@ -627,3 +641,9 @@ def register_commands(subparsers, context): | |||
| 627 | group='info') | 641 | group='info') |
| 628 | parser_latest_version.add_argument('recipename', help='Name of recipe to query (just name - no version, path or extension)') | 642 | parser_latest_version.add_argument('recipename', help='Name of recipe to query (just name - no version, path or extension)') |
| 629 | parser_latest_version.set_defaults(func=latest_version) | 643 | parser_latest_version.set_defaults(func=latest_version) |
| 644 | |||
| 645 | parser_check_upgrade_status = subparsers.add_parser('check-upgrade-status', help="Report upgradability for multiple (or all) recipes", | ||
| 646 | description="Prints a table of recipes together with versions currently provided by recipes, and latest upstream versions, when there is a later version available", | ||
| 647 | group='info') | ||
| 648 | parser_check_upgrade_status.add_argument('recipe', help='Name of the recipe to report (omit to report upgrade info for all recipes)', nargs='*') | ||
| 649 | parser_check_upgrade_status.set_defaults(func=check_upgrade_status) | ||
