[OE-core] [PATCH v3] perf: Correct the substitution of python shebangs

Khem Raj raj.khem at gmail.com
Fri Feb 21 22:15:44 UTC 2020



On 2/21/20 1:43 PM, Joshua Watt wrote:
> On Thu, Feb 13, 2020 at 9:58 PM <zhe.he at windriver.com> wrote:
>>
>> From: He Zhe <zhe.he at windriver.com>
>>
>> To make the native python3 is always used,
>>
>> - Use sed one-liner instead
>> - Add substitution for ${S}/scripts/bpf_helpers_doc.py to fix the
>>    following warning.
>>
>> File "/usr/lib/python3.6/sysconfig.py", line 421, in _init_posix
>> _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0)
>> ModuleNotFoundError: No module named '_sysconfigdata'
>>
>> This issue is first reported by Joel Stanley <joel at jms.id.au>
>> The sed one-liner is credited to Anuj Mittal <anuj.mittal at intel.com>
>>
>> Signed-off-by: He Zhe <zhe.he at windriver.com>
>> ---
>>   meta/recipes-kernel/perf/perf.bb | 7 ++-----
>>   1 file changed, 2 insertions(+), 5 deletions(-)
>>
>> diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
>> index 6d1b06693d..a6fb51d3db 100644
>> --- a/meta/recipes-kernel/perf/perf.bb
>> +++ b/meta/recipes-kernel/perf/perf.bb
>> @@ -239,11 +239,8 @@ do_configure_prepend () {
>>       fi
>>
>>       # use /usr/bin/env instead of version specific python
>> -    for s in `find ${S}/tools/perf/ -name '*.py'`; do
>> -        sed -i 's,/usr/bin/python,/usr/bin/env python3,' "${s}"
>> -        sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "${s}"
>> -        sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "${s}"
>> -        sed -i 's,/usr/bin/python3,/usr/bin/env python3,' "${s}"
>> +    for s in `find ${S}/tools/perf/ -name '*.py'` ${S}/scripts/bpf_helpers_doc.py; do
> 
> Do we have to hard code bpf_helpers_doc.py? It doesn't exist in older
> versions (e.g. 4.14) and causes do_configure to fail.

Probably not, I also stumbled into this problem.

> 
>> +        sed -i -e "s,#!.*python.*,#!${USRBINPATH}/env python3," ${s}
>>       done
>>
>>       # unistd.h can be out of sync between libc-headers and the captured version in the perf source
>> --
>> 2.24.1
>>
>> --
>> _______________________________________________
>> 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