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 | ||