On Thu, Feb 13, 2020 at 1:39 PM <zhe...@windriver.com> wrote:
>
> From: He Zhe <zhe...@windriver.com>
>
> To make the native python3 are 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/
>
> Signed-off-by: He Zhe <zhe...@windriver.com>
> ---
>  meta/recipes-kernel/perf/perf.bb | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/meta/recipes-kernel/perf/perf.bb 
> b/meta/recipes-kernel/perf/perf.bb
> index 6d1b066..14a9090 100644
> --- a/meta/recipes-kernel/perf/perf.bb
> +++ b/meta/recipes-kernel/perf/perf.bb
> @@ -240,10 +240,17 @@ do_configure_prepend () {
>
>      # use /usr/bin/env instead of version specific python
>      for s in `find ${S}/tools/perf/ -name '*.py'`; do
> +        sed -i 's,/usr/bin/python3,/usr/bin/env python3,' "${s}"

Rather than messing around with the order of these, we should just
combine them into a single sed invocation. When I started those
substitutions, there weren't so many.

As was mentioned in the other perf patch  and review:

sed -i -e "1s,#!.*python.*,#!${USRBINPATH}/env python3," ${s}

or some variant of the regex should fix them all.

>          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}"
> +    done
> +
> +    for s in `find ${S}/scripts/ -name '*.py'`; do

It would be better to not have two loops doing the same thing, why not
combine the two ? In the other review, the single script that was
causing the problem was specifically pointed out .. and while I also
agree that we can just substitute them all, technically, if we haven't
run them, we don't know they are py3 safe.

But minimally, getting them into a single for loop is something we
should do (also part of that other patch/review).

Bruce

>          sed -i 's,/usr/bin/python3,/usr/bin/env python3,' "${s}"
> +        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}"
>      done
>
>      # unistd.h can be out of sync between libc-headers and the captured 
> version in the perf source
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to