[oe] [meta-java][PATCH] openjdk-8: 'do_unpack_remove_X11_wrappers' confuses pyro bitbake parser

Matthew McClain mmcclain at uplogix.com
Wed Jul 18 16:26:55 UTC 2018


On 7/18/18 12:36 AM, Richard Leitner wrote:
> On 07/17/2018 09:20 PM, Matthew McClain wrote:
>> Renaming the function to anything else allows the recipe to be 
>> parsed.  The
>> problem appears to be the word "_remove_".  This affects both the 
>> sumo and
>> master branches.
>
> In the subject you say it causes problems with the pyro branch, but 
> here you say sumo and master... So which branches are really affected? 
> Can you please adapt the title/commit-message accordingly?
>
The issue is with building the sumo or master branches of meta-java
with the pyro branches of meta-poky, meta-oe, etc.  I should just put
this in the summary.

I suspect it's because _remove (like _append) is used to modify variables.

> If I get it right the mentioned parsing error only occurs when we have 
> no X11 (in PACKAGECONFIG). Is that true? Can you please mention it in 
> the commit message?
If I comment out the do_unpack[postfuncs] line, the recipe parses fine,
so I would assume if X11 is configured, it would be fine.


I didn't include the error in the summary as it's long and messy.

                      parser = bb.codeparser.ShellParser(key, logger)
     >                parser.parse_shell(parsedvar.value)
                      deps = deps | shelldeps
   File "/home/test/yocto/poky/bitbake/lib/bb/codeparser.py", line 361, 
in ShellParser.parse_shell(value=None):

     >        self._parse_shell(value)
              self.execs = set(cmd for cmd in self.allexecs if cmd not 
in self.funcdefs)
   File "/home/test/yocto/poky/bitbake/lib/bb/codeparser.py", line 370, 
in ShellParser._parse_shell(value=None):
              try:
     >            tokens, _ = pyshyacc.parse(value, eof=True, debug=False)
              except pyshlex.NeedMore:
   File "/home/test/yocto/poky/bitbake/lib/bb/pysh/pyshyacc.py", line 
668, in parse(input=None, eof=True, debug=False):
          lexer = pyshlex.PLYLexer()
     >    remaining = lexer.add(input, eof)
          if lexer.is_empty():
   File "/home/test/yocto/poky/bitbake/lib/bb/pysh/pyshlex.py", line 
580, in PLYLexer.add(data=None, eof=True):
              """
     >        self._input += list(data)
              self._parse(eof)
TypeError: 'NoneType' object is not iterable


Thanks,
Matthew



More information about the Openembedded-devel mailing list