summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2007-09-02 09:46:59 +0000
committerRichard Purdie <richard@openedhand.com>2007-09-02 09:46:59 +0000
commit733dc27ecf485a0ec5318534dfbbc9491c08df8f (patch)
tree1c29d1cbbede4c9510e1026e2a76f0c5584669bc
parent5781fe13d65057f4362599fb3d5fa87d5a279ea1 (diff)
downloadopenembedded-core-733dc27ecf485a0ec5318534dfbbc9491c08df8f.tar.gz
classes/distutils*.bbclass: Merge updates from OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2645 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--meta/classes/distutils-base.bbclass6
-rw-r--r--meta/classes/distutils.bbclass46
2 files changed, 43 insertions, 9 deletions
diff --git a/meta/classes/distutils-base.bbclass b/meta/classes/distutils-base.bbclass
index c3f325768d..5150be76b9 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 5f57a9ea19..c07a9911cd 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