[OE-core] INHERIT += "image-buildinfo" doesn't parse

Trevor Woerner twoerner at gmail.com
Sun Jun 5 13:02:53 UTC 2016


On Sun 2016-06-05 @ 08:20:11 AM, Richard Purdie wrote:
> On Sat, 2016-06-04 at 18:55 -0400, Trevor Woerner wrote:
> > Any config with
> > 	INHERIT += "image-buildinfo"
> > doesn't parse on master (updated moments ago):
> > 
> > 	ERROR: Error in compiling python function in /z/layerindex
> > -master/layers/meta-poky/meta/classes/image-buildinfo.bbclass, line
> > 27:
> > 
> > 	The code lines resulting in this error were:
> > 	SyntaxError: invalid syntax (image-buildinfo.bbclass, line 35)
> > 
> > 	bb.BBHandledException: invalid syntax (image-buildinfo.bbclass,
> > line 35)
> 
> I've tweaked line 35 which used an obsolete python syntax so was an
> obvious/trivial fix. I've not tested it though...

I've pulled your change (6e7d9dd9b5cbf46b955036876a25353fafbf264c) but it's
still not happy:

ERROR: Error parsing configuration files
Traceback (most recent call last):
  File "/z/layerindex-master/layers/meta-poky/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 145, in handle(fn='/z/layerindex-master/layers/meta-poky/meta/classes/image-buildinfo.bbclass', d=<bb.data_smart.DataSmart object at 0x7f90650ee828>, include=True):
         try:
    >        statements.eval(d)
         except bb.parse.SkipRecipe:
  File "/z/layerindex-master/layers/meta-poky/bitbake/lib/bb/parse/ast.py", line 38, in StatementGroup.eval(data=<bb.data_smart.DataSmart object at 0x7f90650ee828>):
             for statement in self:
    >            statement.eval(data)

  File "/z/layerindex-master/layers/meta-poky/bitbake/lib/bb/parse/ast.py", line 187, in PythonMethodNode.eval(data=<bb.data_smart.DataSmart object at 0x7f90650ee828>):
             text = '\n'.join(self.body)
    >        bb.methodpool.insert_method(self.modulename, text, self.filename, self.lineno - len(self.body) - 1)
             data.setVarFlag(self.function, "func", 1)
  File "/z/layerindex-master/layers/meta-poky/bitbake/lib/bb/methodpool.py", line 27, in insert_method(modulename='image-buildinfo.bbclass', code='def get_layer_git_status(path):\n    import subprocess\n    try:\n        subprocess.check_output("cd %s; PSEUDO_UNLOAD=1 git diff --quiet --no-ext-diff" % path,\n                                shell=True,\n                                stderr=subprocess.STDOUT)\n        return ""\n    except subprocess.CalledProcessError, ex:\n        # Silently treat errors as "modified", without checking for the\n        # (expected) return code 1 in a modified git repo. For example, we get\n        # output and a 129 return code when a layer isn\'t a git repo at all.\n        return "-- modified"\n', fn='/z/layerindex-master/layers/meta-poky/meta/classes/image-buildinfo.bbclass', lineno=27):
         """
    >    comp = better_compile(code, modulename, fn, lineno=lineno)
         better_exec(comp, None, code, fn)
  File "/z/layerindex-master/layers/meta-poky/bitbake/lib/bb/utils.py", line 330, in better_compile(text='def get_layer_git_status(path):\n    import subprocess\n    try:\n        subprocess.check_output("cd %s; PSEUDO_UNLOAD=1 git diff --quiet --no-ext-diff" % path,\n                                shell=True,\n                                stderr=subprocess.STDOUT)\n        return ""\n    except subprocess.CalledProcessError, ex:\n        # Silently treat errors as "modified", without checking for the\n        # (expected) return code 1 in a modified git repo. For example, we get\n        # output and a 129 return code when a layer isn\'t a git repo at all.\n        return "-- modified"\n', file='image-buildinfo.bbclass', realfile='/z/layerindex-master/layers/meta-poky/meta/classes/image-buildinfo.bbclass', mode='exec', lineno=27):
             e = bb.BBHandledException(e)
    >        raise e

bb.BBHandledException: invalid syntax (image-buildinfo.bbclass, line 35)



More information about the Openembedded-core mailing list