diff options
| -rw-r--r-- | meta/classes/distutils-common-base.bbclass | 23 | ||||
| -rw-r--r-- | meta/classes/distutils.bbclass | 20 |
2 files changed, 17 insertions, 26 deletions
diff --git a/meta/classes/distutils-common-base.bbclass b/meta/classes/distutils-common-base.bbclass index 01bf9eaeba..f66a5cd571 100644 --- a/meta/classes/distutils-common-base.bbclass +++ b/meta/classes/distutils-common-base.bbclass | |||
| @@ -1,19 +1,10 @@ | |||
| 1 | inherit python-dir | ||
| 2 | |||
| 1 | EXTRA_OEMAKE = "" | 3 | EXTRA_OEMAKE = "" |
| 2 | 4 | ||
| 3 | export STAGING_INCDIR | 5 | export STAGING_INCDIR |
| 4 | export STAGING_LIBDIR | 6 | export STAGING_LIBDIR |
| 5 | 7 | ||
| 6 | def python_dir(d): | ||
| 7 | import os, bb | ||
| 8 | staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 ) | ||
| 9 | for majmin in "2.6 2.5 2.4 2.3".split(): | ||
| 10 | if os.path.exists( "%s/python%s" % ( staging_incdir, majmin ) ): return "python%s" % majmin | ||
| 11 | if not "python-native" in bb.data.getVar( "DEPENDS", d, 1 ).split(): | ||
| 12 | raise "No Python in STAGING_INCDIR. Forgot to build python-native ?" | ||
| 13 | return "INVALID" | ||
| 14 | |||
| 15 | PYTHON_DIR = "${@python_dir(d)}" | ||
| 16 | |||
| 17 | PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}" | 8 | PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}" |
| 18 | 9 | ||
| 19 | FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*" | 10 | FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*" |
| @@ -21,10 +12,10 @@ FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*" | |||
| 21 | FILES_${PN}-dev += "\ | 12 | FILES_${PN}-dev += "\ |
| 22 | ${datadir}/pkgconfig \ | 13 | ${datadir}/pkgconfig \ |
| 23 | ${libdir}/pkgconfig \ | 14 | ${libdir}/pkgconfig \ |
| 24 | ${libdir}/${PYTHON_DIR}/site-packages/*.la \ | 15 | ${PYTHON_SITEPACKAGES_DIR}/*.la \ |
| 25 | " | 16 | " |
| 26 | FILES_${PN}-dbg = "\ | 17 | FILES_${PN}-dbg += "\ |
| 27 | ${libdir}/${PYTHON_DIR}/site-packages/.debug \ | 18 | ${PYTHON_SITEPACKAGES_DIR}/.debug \ |
| 28 | ${libdir}/${PYTHON_DIR}/site-packages/*/.debug \ | 19 | ${PYTHON_SITEPACKAGES_DIR}/*/.debug \ |
| 29 | ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug \ | 20 | ${PYTHON_SITEPACKAGES_DIR}/*/*/.debug \ |
| 30 | " | 21 | " |
diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass index 245ef7d859..7e6fbc0c06 100644 --- a/meta/classes/distutils.bbclass +++ b/meta/classes/distutils.bbclass | |||
| @@ -16,9 +16,7 @@ distutils_do_compile() { | |||
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | distutils_stage_headers() { | 18 | distutils_stage_headers() { |
| 19 | install -d ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages | 19 | install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} |
| 20 | STAGING_INCDIR=${STAGING_INCDIR} \ | ||
| 21 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | ||
| 22 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ | 20 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ |
| 23 | ${STAGING_BINDIR_NATIVE}/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ | 21 | ${STAGING_BINDIR_NATIVE}/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \ |
| 24 | oefatal "python setup.py install_headers execution failed." | 22 | oefatal "python setup.py install_headers execution failed." |
| @@ -27,18 +25,18 @@ distutils_stage_headers() { | |||
| 27 | distutils_stage_all() { | 25 | distutils_stage_all() { |
| 28 | STAGING_INCDIR=${STAGING_INCDIR} \ | 26 | STAGING_INCDIR=${STAGING_INCDIR} \ |
| 29 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 27 | STAGING_LIBDIR=${STAGING_LIBDIR} \ |
| 30 | install -d ${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages | 28 | install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} |
| 31 | PYTHONPATH=${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages \ | 29 | PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \ |
| 32 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ | 30 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ |
| 33 | ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ | 31 | ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \ |
| 34 | oefatal "python setup.py install (stage) execution failed." | 32 | oefatal "python setup.py install (stage) execution failed." |
| 35 | } | 33 | } |
| 36 | 34 | ||
| 37 | distutils_do_install() { | 35 | distutils_do_install() { |
| 38 | install -d ${D}${libdir}/${PYTHON_DIR}/site-packages | 36 | install -d ${D}${PYTHON_SITEPACKAGES_DIR} |
| 39 | STAGING_INCDIR=${STAGING_INCDIR} \ | 37 | STAGING_INCDIR=${STAGING_INCDIR} \ |
| 40 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 38 | STAGING_LIBDIR=${STAGING_LIBDIR} \ |
| 41 | PYTHONPATH=${D}/${libdir}/${PYTHON_DIR}/site-packages \ | 39 | PYTHONPATH=${D}/${PYTHON_SITEPACKAGES_DIR} \ |
| 42 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ | 40 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ |
| 43 | ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \ | 41 | ${STAGING_BINDIR_NATIVE}/python setup.py install ${DISTUTILS_INSTALL_ARGS} || \ |
| 44 | oefatal "python setup.py install execution failed." | 42 | oefatal "python setup.py install execution failed." |
| @@ -59,15 +57,17 @@ distutils_do_install() { | |||
| 59 | done | 57 | done |
| 60 | fi | 58 | fi |
| 61 | 59 | ||
| 62 | rm -f ${D}${libdir}/${PYTHON_DIR}/site-packages/easy-install.pth | 60 | rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth |
| 63 | 61 | ||
| 64 | # | 62 | # |
| 65 | # FIXME: Bandaid against wrong datadir computation | 63 | # FIXME: Bandaid against wrong datadir computation |
| 66 | # | 64 | # |
| 67 | if test -e ${D}${datadir}/share; then | 65 | if test -e ${D}${datadir}/share; then |
| 68 | mv -f ${D}${datadir}/share/* ${D}${datadir}/ | 66 | mv -f ${D}${datadir}/share/* ${D}${datadir}/ |
| 69 | fi | 67 | fi |
| 70 | 68 | ||
| 69 | # These are generated files, on really slow systems the storage/speed trade off | ||
| 70 | # might be worth it, but in general it isn't | ||
| 71 | find ${D}${libdir}/${PYTHON_DIR}/site-packages -iname '*.pyo' -exec rm {} \; | 71 | find ${D}${libdir}/${PYTHON_DIR}/site-packages -iname '*.pyo' -exec rm {} \; |
| 72 | } | 72 | } |
| 73 | 73 | ||
