From patchwork Thu Dec 13 16:55:38 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: distutils: Replacing path to native python by path to python in the image to support python packages with console-script setup Date: Thu, 13 Dec 2012 16:55:38 -0000 From: Lukas Bulwahn X-Patchwork-Id: 40919 Message-Id: <1355417738-6285-1-git-send-email-lukas.bulwahn@oss.bmw-carit.de> To: openembedded-core@lists.openembedded.org, sgw@linux.intel.com Cc: Lukas Bulwahn , Lukas Bulwahn From: Lukas Bulwahn When using distutils for a python package based on a python-setuptools installation script that sets up a console script, the header of the console script created by setuptools points to the python-native path. The console scripts are commonly executed in the image, but not in the sysroot environment. Therefore, the header of the console scripts should point to the python interpreter in the image. Setuptools does not allow to set the path of the python interpreter via some command-line argument. Hence after the installation script ran, the distutils class replaces the path in the console script files created by the installation. Signed-off-by: Lukas Bulwahn --- meta/classes/distutils.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass index 552e5f3..02f5cb6 100644 --- a/meta/classes/distutils.bbclass +++ b/meta/classes/distutils.bbclass @@ -47,12 +47,14 @@ distutils_do_install() { if test -e ${D}${bindir} ; then for i in ${D}${bindir}/* ; do \ + sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${bindir}/env python:g $i sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i done fi if test -e ${D}${sbindir}; then for i in ${D}${sbindir}/* ; do \ + sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${bindir}/env python:g $i sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i done fi