[OE-core] [PATCH 10/10] devtool: add a command to print an overall list of recipes that can be updated

akuster808 akuster808 at gmail.com
Wed Jan 23 23:31:10 UTC 2019



On 1/23/19 8:17 AM, Alexander Kanavin wrote:
> A sample portion of the output:
>
> $ devtool check-upgrade-status
> ...
> NOTE: acpid                     2.0.30          2.0.31          Ross Burton <ross.burton at intel.com>
> NOTE: u-boot-fw-utils           2018.11         2019.01         Marek Vasut <marek.vasut at gmail.com> d3689267f92c5956e09cc7d1baa4700141662bff
> NOTE: u-boot-tools              2018.11         2019.01         Marek Vasut <marek.vasut at gmail.com> d3689267f92c5956e09cc7d1baa4700141662bff
> NOTE: u-boot                    2018.11         2019.01         Marek Vasut <marek.vasut at gmail.com> d3689267f92c5956e09cc7d1baa4700141662bff
> NOTE: bind                      9.11.5          9.13.5          Armin Kuster <akuster808 at gmail.com>  cannot be updated due to: 9.11 is LTS 2021
> NOTE: iproute2                  4.19.0          4.20.0          Changhyeok Bae <changhyeok.bae at lge.com>
> NOTE: ofono                     1.25            1.27            Ross Burton <ross.burton at intel.com>
> NOTE: wpa-supplicant            2.6             2.7             Changhyeok Bae <changhyeok.bae at lge.com>
> NOTE: base-passwd               3.5.29          3.5.45          Anuj Mittal <anuj.mittal at intel.com>  cannot be updated due to: Version 3.5.38 requires cdebconf for update-passwd utility
> NOTE: busybox                   1.29.2          1.30.0          Andrej Valek <andrej.valek at siemens.com>
> NOTE: dbus-test                 1.12.10         1.12.12         Chen Qi <Qi.Chen at windriver.com>
> NOTE: dbus                      1.12.10         1.12.12         Chen Qi <Qi.Chen at windriver.com>
> NOTE: glib-2.0                  2.58.0          2.58.3          Anuj Mittal <anuj.mittal at intel.com>
> NOTE: glib-networking           2.54.1          2.58.0          Anuj Mittal <anuj.mittal at intel.com>

this looks great.

thanks.

- armin
> ...
>
> Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> ---
>  scripts/lib/devtool/upgrade.py | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py
> index 202007793b2..42a4c0e4bff 100644
> --- a/scripts/lib/devtool/upgrade.py
> +++ b/scripts/lib/devtool/upgrade.py
> @@ -600,6 +600,20 @@ def latest_version(args, config, basepath, workspace):
>          tinfoil.shutdown()
>      return 0
>  
> +def check_upgrade_status(args, config, basepath, workspace):
> +    if not args.recipe:
> +        logger.info("Checking the upstream status for all recipes may take a few minutes")
> +    results = oe.recipeutils.get_recipe_upgrade_status(args.recipe)
> +    for result in results:
> +        # pn, update_status, current, latest, maintainer, latest_commit, no_update_reason
> +        if result[1] != 'MATCH':
> +            logger.info("{:25} {:15} {:15} {} {} {}".format(   result[0],
> +                                                               result[2],
> +                                                               result[1] if result[1] != 'UPDATE' else (result[3] if not result[3].endswith("new-commits-available") else "new commits"),
> +                                                               result[4],
> +                                                               result[5] if result[5] != 'N/A' else "",
> +                                                               "cannot be updated due to: %s" %(result[6]) if result[6] else ""))
> +
>  def register_commands(subparsers, context):
>      """Register devtool subcommands from this plugin"""
>  
> @@ -627,3 +641,9 @@ def register_commands(subparsers, context):
>                                                    group='info')
>      parser_latest_version.add_argument('recipename', help='Name of recipe to query (just name - no version, path or extension)')
>      parser_latest_version.set_defaults(func=latest_version)
> +
> +    parser_check_upgrade_status = subparsers.add_parser('check-upgrade-status', help="Report upgradability for multiple (or all) recipes",
> +                                                        description="Prints a table of recipes together with versions currently provided by recipes, and latest upstream versions, when there is a later version available",
> +                                                        group='info')
> +    parser_check_upgrade_status.add_argument('recipe', help='Name of the recipe to report (omit to report upgrade info for all recipes)', nargs='*')
> +    parser_check_upgrade_status.set_defaults(func=check_upgrade_status)



More information about the Openembedded-core mailing list