From 733dc27ecf485a0ec5318534dfbbc9491c08df8f Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 2 Sep 2007 09:46:59 +0000 Subject: classes/distutils*.bbclass: Merge updates from OE git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2645 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/classes/distutils-base.bbclass | 6 ++--- meta/classes/distutils.bbclass | 46 ++++++++++++++++++++++++++++++++----- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/meta/classes/distutils-base.bbclass b/meta/classes/distutils-base.bbclass index c3f325768..5150be76b 100644 --- a/meta/classes/distutils-base.bbclass +++ b/meta/classes/distutils-base.bbclass @@ -5,14 +5,14 @@ RDEPENDS += "python-core" def python_dir(d): import os, bb staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 ) - if os.path.exists( "%s/python2.3" % staging_incdir ): return "python2.3" - if os.path.exists( "%s/python2.4" % staging_incdir ): return "python2.4" if os.path.exists( "%s/python2.5" % staging_incdir ): return "python2.5" + if os.path.exists( "%s/python2.4" % staging_incdir ): return "python2.4" + if os.path.exists( "%s/python2.3" % staging_incdir ): return "python2.3" raise "No Python in STAGING_INCDIR. Forgot to build python-native ?" PYTHON_DIR = "${@python_dir(d)}" FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*" FILES_${PN}-dbg = "${libdir}/${PYTHON_DIR}/site-packages/.debug \ - ${libdir}/${PYTHON_DIR}/site-packages/./*/debug \ + ${libdir}/${PYTHON_DIR}/site-packages/*/.debug \ ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug" diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass index 5f57a9ea1..c07a9911c 100644 --- a/meta/classes/distutils.bbclass +++ b/meta/classes/distutils.bbclass @@ -1,15 +1,49 @@ inherit distutils-base distutils_do_compile() { - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py build || \ - oefatal "python setup.py build execution failed." + BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ + ${STAGING_BINDIR_NATIVE}/python setup.py build || \ + oefatal "python setup.py build_ext execution failed." +} + +distutils_stage_headers() { + BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ + ${STAGING_BINDIR_NATIVE}/python setup.py install_headers --install-dir=${STAGING_INCDIR}/${PYTHON_DIR} || \ + oefatal "python setup.py install_headers execution failed." +} + +distutils_stage_all() { + install -d ${STAGING_INCDIR}/../${PYTHON_DIR}/site-packages + PYTHONPATH=${STAGING_INCDIR}/../${PYTHON_DIR}/site-packages \ + BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ + ${STAGING_BINDIR_NATIVE}/python setup.py install --prefix=${STAGING_INCDIR}/.. --install-data=${STAGING_INCDIR}/../share || \ + oefatal "python setup.py install (stage) execution failed." } distutils_do_install() { - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install --prefix=${D}/${prefix} --install-data=${D}/${datadir} || \ - oefatal "python setup.py install execution failed." + install -d ${D}${libdir}/${PYTHON_DIR}/site-packages + PYTHONPATH=${D}/${libdir}/${PYTHON_DIR}/site-packages \ + BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ + ${STAGING_BINDIR_NATIVE}/python setup.py install --prefix=${D}/${prefix} --install-data=${D}/${datadir} || \ + oefatal "python setup.py install execution failed." + + for i in `find ${D} -name "*.py"` ; do \ + sed -i -e s:${D}::g $i + done + + if test -e ${D}${bindir} ; then + for i in ${D}${bindir}/* ; do \ + 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}:${bindir}:g $i + done + fi + + rm -f ${D}${libdir}/${PYTHON_DIR}/site-packages/easy-install.pth } EXPORT_FUNCTIONS do_compile do_install -- cgit v1.2.3