[OE-core] [PATCH 0/1][v3] license.bbclass parsing changes rebased sans debug

Khem Raj raj.khem at gmail.com
Sat May 28 20:57:43 UTC 2011


On 5/28/2011 10:54 AM, Elizabeth Flanagan wrote:
> In this case, elfutils should probably be changes as well as
> license.bbclass. As do_populate_lic is looking for valid python to make
> a syntax tree from, this will fail. Solution:
>
> 1. Fix license.bbclass to check LICENSE and massage it a bit more.
> 2. Fix elfutils to be GPLv2* (unless it's the GCC exception. I haven't
> read the license yet).

It does not like () around license values so simple solution is to replace

-LICENSE = "(GPLv2 & Exception)"
+LICENSE = "GPLv2 & Exception"

Generally its preferable to fix eflutils first before license class in 
this case to keep the tree bisect'able.

>
> I'll poke around this today.
>
> -b
>
> On 05/28/2011 09:55 AM, Khem Raj wrote:
>> On 5/28/2011 2:16 AM, Koen Kooi wrote:
>>>
>>> Op 28 mei 2011, om 00:13 heeft Elizabeth Flanagan het volgende
>>> geschreven:
>>>
>>>>
>>>> Using python abstract syntax trees as a parser and an ast visitor
>>>> class, I've
>>>> begun the first steps to being able to put some sanity to license
>>>> selection.
>>>>
>>>> One note. License modifiers have traditionally been limited to the
>>>> "or greater"
>>>> modifier "+". I've added another modifier "with exceptions" for
>>>> licenses that
>>>> have no generic ie common-licenses/GPL-2,0-with-GCC-exception
>>>
>>> When building shadow I get:
>>
>>
>> and when building elfutils I get
>>
>> ERROR: (file: 'do_populate_lic', lineno: 116, function: do_populate_lic)
>> ERROR: Function 'do_populate_lic' failed
>> ERROR: Logfile of failure stored in:
>> /home/kraj/work/slugos/build/tmp-slugos-eglibc/work/armv5te-oe-linux-gnueabi/elfutils-0.148-r2/temp/log.do_populate_lic.31784
>>
>> Log data follows:
>> | WARNING:
>> /home/kraj/work/slugos/openembedded-core/meta/files/common-licenses
>> | ERROR: Error executing a python function in
>> /home/kraj/work/slugos/openembedded-core/meta/recipes-devtools/elfutils/elfutils_0.148.bb:
>>
>> | File "<unknown>", line 1
>> | ( 'GPLv2'& 'Exception' )
>> | ^
>> | IndentationError: unexpected indent
>> |
>> | ERROR: The stack trace of python calls that resulted in this
>> exception/failure was:
>> | ERROR: File "do_populate_lic", line 121, in<module>
>> | ERROR:
>> | ERROR: File "do_populate_lic", line 116, in do_populate_lic
>> | ERROR:
>> | ERROR: File "/usr/lib/python2.7/ast.py", line 37, in parse
>> | ERROR: return compile(source, filename, mode, PyCF_ONLY_AST)
>> | ERROR:
>> | ERROR: The code that was being executed was:
>> | ERROR: 0117: v = LicenseVisitor()
>> | ERROR: 0118: v.visit(node)
>> | ERROR: 0119:
>> | ERROR: 0120:
>> | ERROR: *** 0121:do_populate_lic(d)
>> | ERROR: 0122:
>> | ERROR: (file: 'do_populate_lic', lineno: 121, function:<module>)
>> | ERROR: 0112: clean_licenses += "'" + x + "'"
>> | ERROR: 0113: else:
>> | ERROR: 0114: clean_licenses += " " + x + " "
>> | ERROR: 0115:
>> | ERROR: *** 0116: node = ast.parse(clean_licenses)
>> | ERROR: 0117: v = LicenseVisitor()
>> | ERROR: 0118: v.visit(node)
>> | ERROR: 0119:
>> | ERROR: 0120:
>> | ERROR: (file: 'do_populate_lic', lineno: 116, function:
>> do_populate_lic)
>> | ERROR: Function 'do_populate_lic' failed
>> NOTE: package elfutils-0.148-r2: task do_populate_lic: Failed
>>
>>
>>>
>>> | WARNING:
>>> /home/koen/angstrom-core/sources/openembedded-core/meta/files/common-licenses
>>>
>>> | ERROR: Error executing a python function in
>>> /home/koen/angstrom-core/sources/openembedded-core/meta/recipes-extended/shadow/shadow_4.1.4.3.bb:
>>>
>>> | RuntimeError: maximum recursion depth exceeded while calling a
>>> Python object
>>> |
>>> | ERROR: The stack trace of python calls that resulted in this
>>> exception/failure was:
>>> | ERROR: File "do_populate_lic", line 121, in<module>
>>> | ERROR:
>>> | ERROR: File "do_populate_lic", line 118, in do_populate_lic
>>> | ERROR:
>>> | ERROR: File "/usr/lib64/python2.7/ast.py", line 243, in visit
>>> | ERROR: return visitor(node)
>>> | ERROR:
>>> | ERROR: File "do_populate_lic", line 13, in generic_visit
>>>
>>> and a few hundred more lines, I had to change the scrollback buffer
>>> from 512 lines to unlimited to catch this :) I can send the full log
>>> on request.
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core at lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>





More information about the Openembedded-core mailing list