summaryrefslogtreecommitdiff
path: root/package/python/python-2.7-040-bytecode-generation-fix.patch
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@anandra.org>2010-12-10 23:13:36 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2011-01-25 08:56:20 +0100
commit10e1927e1a1bc21785b9482fc4ba70d3b4773854 (patch)
treeca7e9684cfcf2cad772f0cb1df49e9f9c01341be /package/python/python-2.7-040-bytecode-generation-fix.patch
parentd82df10e90ee9457ea0baba2d6a766149d4b7c38 (diff)
python: Add the needed patches to compile python2.7 in buildroot.
Signed-off-by: Maxime Ripard <ripard@archos.com>
Diffstat (limited to 'package/python/python-2.7-040-bytecode-generation-fix.patch')
-rw-r--r--package/python/python-2.7-040-bytecode-generation-fix.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/package/python/python-2.7-040-bytecode-generation-fix.patch b/package/python/python-2.7-040-bytecode-generation-fix.patch
new file mode 100644
index 000000000..0984c489b
--- /dev/null
+++ b/package/python/python-2.7-040-bytecode-generation-fix.patch
@@ -0,0 +1,38 @@
+The compileall script is used to compile to python bytecode all the modules.
+However, it relies on the struct package that is not built for the host
+python, thus crashing at execution when compiling the target python.
+When compiling, the removed code block is never executed, so we can safely
+remove it, removing in the same time the dependency on struct.
+
+Patch by Maxime Ripard <ripard@archos.com>
+
+Index: Python-2.7/Lib/compileall.py
+===================================================================
+--- Python-2.7.orig/Lib/compileall.py (révision 84276)
++++ Python-2.7/Lib/compileall.py (copie de travail)
+@@ -14,7 +14,6 @@
+ import os
+ import sys
+ import py_compile
+-import struct
+ import imp
+
+ __all__ = ["compile_dir","compile_file","compile_path"]
+@@ -83,17 +82,6 @@
+ if os.path.isfile(fullname):
+ head, tail = name[:-3], name[-3:]
+ if tail == '.py':
+- if not force:
+- try:
+- mtime = int(os.stat(fullname).st_mtime)
+- expect = struct.pack('<4sl', imp.get_magic(), mtime)
+- cfile = fullname + (__debug__ and 'c' or 'o')
+- with open(cfile, 'rb') as chandle:
+- actual = chandle.read(8)
+- if expect == actual:
+- return success
+- except IOError:
+- pass
+ if not quiet:
+ print 'Compiling', fullname, '...'
+ try: