Is it possible to avoid the use of sed, and fix the problem at the source?
Why is it specific to nativesdk and doesn't show up in target?

Alex

On Mon, 22 Feb 2021 at 02:22, Yu, Mingli <[email protected]> wrote:

> From: Mingli Yu <[email protected]>
>
> Make sure the python interpreter is "#!/usr/bin/env python3" for
> nativesdk to avoid the shebang path exceeding the limit when install
> the sdk under the directory with long path.
>
> Before:
>  $ cd ${target_sdk_dir}
>  $ vi ./sysroots/x86_64-oesdk-linux/usr/bin/2to3
>  #!${target_sdk_dir}/sysroots/${SDK_SYS}/usr/bin/python3.9
>  [snip]
>
> After:
>  $ cd ${target_sdk_dir}
>  $ vi ./sysroots/x86_64-oesdk-linux/usr/bin/2to3
>  #!/usr/bin/env python3
>  [snip]
>
> Signed-off-by: Mingli Yu <[email protected]>
> ---
>  meta/recipes-devtools/python/python3_3.9.2.bb | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/meta/recipes-devtools/python/python3_3.9.2.bb
> b/meta/recipes-devtools/python/python3_3.9.2.bb
> index 87231f97a6..9c87d9d2eb 100644
> --- a/meta/recipes-devtools/python/python3_3.9.2.bb
> +++ b/meta/recipes-devtools/python/python3_3.9.2.bb
> @@ -177,6 +177,10 @@ do_install_append() {
>  }
>
>  do_install_append_class-nativesdk () {
> +    # Make sure we use /usr/bin/env python
> +    for PYTHSCRIPT in `grep -rIl ${bindir}/python ${D}${bindir}`; do
> +         sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
> +    done
>      create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN}
> TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo'
> PYTHONNOUSERSITE='1'
>  }
>
> --
> 2.17.1
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#148430): 
https://lists.openembedded.org/g/openembedded-core/message/148430
Mute This Topic: https://lists.openembedded.org/mt/80814994/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to