[OE-core] [PATCH v2] perf: Correct the substitution of python shebangs
He Zhe
zhe.he at windriver.com
Fri Feb 14 03:56:44 UTC 2020
commit log broken. Please ignore. I'll send v3.
Zhe
On 2/14/20 11:44 AM, zhe.he at windriver.com wrote:
> From: He Zhe <zhe.he at windriver.com>
>
> To make the native python3 is always used,
>
> - Move the substitution of /usr/bin/python3 to first, otherwise the
> possible original /usr/bin/python3 would be changed to
> /usr/bin/env python33.
> - 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
> + 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
More information about the Openembedded-core
mailing list