diff options
Diffstat (limited to 'meta-phosphor/classes/obmc-phosphor-python3-autotools.bbclass')
-rw-r--r-- | meta-phosphor/classes/obmc-phosphor-python3-autotools.bbclass | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/meta-phosphor/classes/obmc-phosphor-python3-autotools.bbclass b/meta-phosphor/classes/obmc-phosphor-python3-autotools.bbclass index d76598a36..89a884a1b 100644 --- a/meta-phosphor/classes/obmc-phosphor-python3-autotools.bbclass +++ b/meta-phosphor/classes/obmc-phosphor-python3-autotools.bbclass @@ -1,6 +1,9 @@ inherit obmc-phosphor-utils inherit python3native +OBMC_PYTHON_EXE="python3" +OBMC_PYTHON_EXE_class-native="nativepython3" + DEPENDS += "python3" export BUILD_SYS @@ -15,3 +18,21 @@ python() { set_append(d, 'FILES_%s' % pkg, d.getVar('PYTHON_SITEPACKAGES_DIR', True)) } + +# python-setuptools does some mangling of the #! in any scripts it installs, +# which has been reported for years at pypa/setuptools#494. OE has +# workarounds in distutils3.bbclass, but we cannot inherit that here because +# it conflicts with autotools.bbclass. Port the un-mangling code here. +# +# This finds any ${PYTHON} executable path that got put into the scripts +# and reverts it back to "/usr/bin/env python3". It also reverts any full +# ${STAGING_BINDIR_NATIVE} path back to "/usr/bin". +# +do_install_append() { + for i in ${D}${bindir}/* ${D}${sbindir}/*; do + if [ -f "$i" ]; then + sed -i -e s:${PYTHON}:${USRBINPATH}/env\ ${OBMC_PYTHON_EXE}:g $i + sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i + fi + done +} |