summaryrefslogtreecommitdiffstats
path: root/scripts/lib/devtool/upgrade.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/devtool/upgrade.py')
-rw-r--r--scripts/lib/devtool/upgrade.py20
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
603def 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
603def register_commands(subparsers, context): 617def 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)