Patchwork [2/5] python: regenerate plat-linux2/*.py

login
register
mail settings
Submitter Andreas Oberritter
Date March 12, 2012, 9:24 p.m.
Message ID <1331587452-27755-3-git-send-email-obi@opendreambox.org>
Download mbox | patch
Permalink /patch/23045/
State Accepted
Commit 3bb9d027fff925a40c4dea9109df9464a76853b7
Headers show

Comments

Andreas Oberritter - March 12, 2012, 9:24 p.m.
* If plat-linux2/DLFCN.py was present, python was broken in our
  image, i.e. it was unable to load many modules. This was due
  to changed RTLD_* constants in dlfcn.h
* Python includes a script, plat-linux2/regen, to regenerate
  the py source codes in this directory.
* Do what plat-linux2/regen would do, but use files from
  STAGING_INCDIR.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
---
 meta/recipes-devtools/python/python_2.7.2.bb |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

Patch

diff --git a/meta/recipes-devtools/python/python_2.7.2.bb b/meta/recipes-devtools/python/python_2.7.2.bb
index 7c2ce57..6317bb9 100644
--- a/meta/recipes-devtools/python/python_2.7.2.bb
+++ b/meta/recipes-devtools/python/python_2.7.2.bb
@@ -37,6 +37,17 @@  do_configure_prepend() {
 }
 
 do_compile() {
+        # regenerate platform specific files, because they depend on system headers
+        cd Lib/plat-linux2
+        include=${STAGING_INCDIR} ${STAGING_BINDIR_NATIVE}/python \
+                ${S}/Tools/scripts/h2py.py -i '(u_long)' \
+                ${STAGING_INCDIR}/dlfcn.h \
+                ${STAGING_INCDIR}/linux/cdrom.h \
+                ${STAGING_INCDIR}/netinet/in.h \
+                ${STAGING_INCDIR}/sys/types.h
+        sed -e 's,${STAGING_DIR_HOST},,g' -i *.py
+        cd -
+
 	#
 	# Copy config.h and an appropriate Makefile for distutils.sysconfig,
 	# which laters uses the information out of these to compile extensions