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

Ed Bartosh ed.bartosh at linux.intel.com
Wed Sep 2 13:54:45 UTC 2015


On Wed, Sep 02, 2015 at 02:16:58PM +0300, Jussi Kukkonen wrote:
> 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")
> 

The autobuilder log looks very strange to me. I don't see any mentioning
of _parse_recipe in standard.py on master. Moreover, there is no
_prep_extract_operation function mentioned in traceback.

I've just run failed test and it passed without any issues.


It looks like autobuilder messed the code from some old branch and tests
from master.

Regards,
Ed

> 
> >
> > 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



More information about the Openembedded-core mailing list