[OE-core] [PATCH 01/11] devtool: make 2 functions public

Jussi Kukkonen jussi.kukkonen at intel.com
Wed Sep 2 11:16:58 UTC 2015


On 30 August 2015 at 19:08, Ed Bartosh <ed.bartosh at linux.intel.com> wrote:
>
> Moved standard.py:_parse_recipe -> __init__.py:parse_recipe and
>       standard.py:_get_recipe_file ->  __init__.py:get_recipe_file
> to be able to call them from other modules.

Hi Ed,

Can you take a look if the failures in
https://autobuilder.yoctoproject.org/main/builders/nightly-oe-selftest/builds/173/steps/Running%20oe-selftest/logs/stdio
are related to this patch (there's lots of "NameError: global name
'_parse_recipe' is not defined")

Jussi

>
> Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
> ---
>  scripts/lib/devtool/__init__.py | 27 +++++++++++++++++++++++++++
>  scripts/lib/devtool/standard.py | 36 ++++--------------------------------
>  2 files changed, 31 insertions(+), 32 deletions(-)
>
> diff --git a/scripts/lib/devtool/__init__.py
b/scripts/lib/devtool/__init__.py
> index 1747fff..97ac6ae 100644
> --- a/scripts/lib/devtool/__init__.py
> +++ b/scripts/lib/devtool/__init__.py
> @@ -116,3 +116,30 @@ def add_md5(config, recipename, filename):
>      md5 = bb.utils.md5_file(filename)
>      with open(os.path.join(config.workspace_path, '.devtool_md5'), 'a')
as f:
>          f.write('%s|%s|%s\n' % (recipename, os.path.relpath(filename,
config.workspace_path), md5))
> +
> +def get_recipe_file(cooker, pn):
> +    """Find recipe file corresponding a package name"""
> +    import oe.recipeutils
> +    recipefile = oe.recipeutils.pn_to_recipe(cooker, pn)
> +    if not recipefile:
> +        skipreasons = oe.recipeutils.get_unavailable_reasons(cooker, pn)
> +        if skipreasons:
> +            logger.error('\n'.join(skipreasons))
> +        else:
> +            logger.error("Unable to find any recipe file matching %s" %
pn)
> +    return recipefile
> +
> +def parse_recipe(config, tinfoil, pn, appends):
> +    """Parse recipe of a package"""
> +    import oe.recipeutils
> +    recipefile = get_recipe_file(tinfoil.cooker, pn)
> +    if not recipefile:
> +        # Error already logged
> +        return None
> +    if appends:
> +        append_files =
tinfoil.cooker.collection.get_file_appends(recipefile)
> +        # Filter out appends from the workspace
> +        append_files = [path for path in append_files if
> +                        not path.startswith(config.workspace_path)]
> +    return oe.recipeutils.parse_recipe(recipefile, append_files,
> +                                       tinfoil.config_data)
> diff --git a/scripts/lib/devtool/standard.py
b/scripts/lib/devtool/standard.py
> index 4aa6ebd..97c45d9 100644
> --- a/scripts/lib/devtool/standard.py
> +++ b/scripts/lib/devtool/standard.py
> @@ -26,7 +26,7 @@ import argparse
>  import scriptutils
>  import errno
>  from devtool import exec_build_env_command, setup_tinfoil, DevtoolError
> -from devtool import add_md5
> +from devtool import add_md5, parse_recipe
>
>  logger = logging.getLogger('devtool')
>
> @@ -157,34 +157,6 @@ def _check_compatible_recipe(pn, d):
>                             "from working. You will need to disable this "
>                             "first." % pn)
>
> -def _get_recipe_file(cooker, pn):
> -    """Find recipe file corresponding a package name"""
> -    import oe.recipeutils
> -    recipefile = oe.recipeutils.pn_to_recipe(cooker, pn)
> -    if not recipefile:
> -        skipreasons = oe.recipeutils.get_unavailable_reasons(cooker, pn)
> -        if skipreasons:
> -            logger.error('\n'.join(skipreasons))
> -        else:
> -            logger.error("Unable to find any recipe file matching %s" %
pn)
> -    return recipefile
> -
> -def _parse_recipe(config, tinfoil, pn, appends):
> -    """Parse recipe of a package"""
> -    import oe.recipeutils
> -    recipefile = _get_recipe_file(tinfoil.cooker, pn)
> -    if not recipefile:
> -        # Error already logged
> -        return None
> -    if appends:
> -        append_files =
tinfoil.cooker.collection.get_file_appends(recipefile)
> -        # Filter out appends from the workspace
> -        append_files = [path for path in append_files if
> -                        not path.startswith(config.workspace_path)]
> -    return oe.recipeutils.parse_recipe(recipefile, append_files,
> -                                       tinfoil.config_data)
> -
> -
>  def _ls_tree(directory):
>      """Recursive listing of files in a directory"""
>      ret = []
> @@ -200,7 +172,7 @@ def extract(args, config, basepath, workspace):
>
>      tinfoil = setup_tinfoil()
>
> -    rd = _parse_recipe(config, tinfoil, args.recipename, True)
> +    rd = parse_recipe(config, tinfoil, args.recipename, True)
>      if not rd:
>          return 1
>
> @@ -420,7 +392,7 @@ def modify(args, config, basepath, workspace):
>
>      tinfoil = setup_tinfoil()
>
> -    rd = _parse_recipe(config, tinfoil, args.recipename, True)
> +    rd = parse_recipe(config, tinfoil, args.recipename, True)
>      if not rd:
>          return 1
>      recipefile = rd.getVar('FILE', True)
> @@ -762,7 +734,7 @@ def update_recipe(args, config, basepath, workspace):
>
>      tinfoil = setup_tinfoil()
>
> -    rd = _parse_recipe(config, tinfoil, args.recipename, True)
> +    rd = parse_recipe(config, tinfoil, args.recipename, True)
>      if not rd:
>          return 1
>
> --
> 2.1.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150902/e2aed0fd/attachment-0002.html>


More information about the Openembedded-core mailing list