diff options
author | Khem Raj <raj.khem@gmail.com> | 2013-05-14 15:00:26 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-02-02 22:37:39 +0000 |
commit | 1c8869bca49cacbbad7520d17df1d3fab475a71c (patch) | |
tree | 931c923665138acf2fb101c11545735286c022e4 /meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch | |
parent | 3f57c714d0d4b9cc68a129c332291c41e6615a9f (diff) | |
download | poky-1c8869bca49cacbbad7520d17df1d3fab475a71c.tar.gz |
python3: Add target and native recipes
3.3.3 is latest bugfix release in 3.3 series
License text is changed to reflect year and prev releases
+++ ../Python-3.3.2/LICENSE 2013-05-15 09:32:54.000000000 -0700
@@ -74,7 +74,9 @@
3.2.1 3.2 2011 PSF yes
3.2.2 3.2.1 2011 PSF yes
3.2.3 3.2.2 2012 PSF yes
+ 3.2.4 3.2.3 2013 PSF yes
3.3.0 3.2 2012 PSF yes
+ 3.3.1 3.3.0 2013 PSF yes
Footnotes:
@@ -110,8 +112,8 @@
distribute, and otherwise use Python alone or in any derivative
version,
provided, however, that PSF's License Agreement and PSF's notice of
copyright,
i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2009, 2010,
-2011, 2012 Python Software Foundation; All Rights Reserved" are
retained in Python
-alone or in any derivative version prepared by Licensee.
+2011, 2012, 2013 Python Software Foundation; All Rights Reserved" are
retained
+in Python alone or in any derivative version prepared by Licensee.
We use native python in disutils bbclass and this needs
to peek into target sysroot when building plugins in cross
environment. Otherwise anything that inherits distutils3.bbclass
will not build.
Fix host include contamination issue
Let compiler append sysroot to include path if it can
Fix the compiler invocation and linker flags when cross compiling
The details are in patch header. This should fix the QA errors about
host contamination
Add virtual/libintl to dep list
There is use of libintl.h but we dont
express the dependency
Add lzma dependency for python3-misc
Fixes
and from test-dependencies.sh run there is undeterministic lzma
dependency:
WARN: packages/armv5te-oe-linux-gnueabi/python3/python3-misc/latest lost
dependency on liblzma
Fix staging warnings due to duplicate install
WARNING: The recipe python3 is trying to install files into a shared
area when those files already exist. Those files and their manifest
location are:
builds/world/tmp/sysroots/qemux86-64/usr/include/python3.3m/pyconfig.h
builds/world/tmp/sysroots/qemux86-64/usr/lib/libpython3.3m.so.1.0
builds/world/tmp/sysroots/qemux86-64/usr/lib/libpython3.3m.so
builds/world/tmp/sysroots/qemux86-64/usr/lib/python3.3/config/Makefile
Let compiler search includes relative to sysroot
This makes it cross compilable and assumption on hardcoded
paths is fixed.
Errors like below would appear if ncursesw is installed on build host
cc1: warning: include location "/usr/include/ncursesw" is unsafe for
cross-compilation [-Wpoison-system-directories]
(From OE-Core rev: 185fcfc3286b355394ae89300f22b8cb7aaa43c1)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Fix linking not happening issue in modules
We need to tweak CONFIGURE_LDFLAGS for python3 instead of LDFLAGS
directly
Add second compile stage which uses original makefile
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch')
-rw-r--r-- | meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch b/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch new file mode 100644 index 0000000000..b96419a638 --- /dev/null +++ b/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch | |||
@@ -0,0 +1,92 @@ | |||
1 | do not "adjust" python files before copying | ||
2 | |||
3 | -Khem | ||
4 | |||
5 | Upstream-Status: Inappropriate [Embedded-Specific] | ||
6 | |||
7 | --- | ||
8 | Lib/distutils/command/build_scripts.py | 43 +++------------------------------ | ||
9 | 1 file changed, 4 insertions(+), 39 deletions(-) | ||
10 | |||
11 | --- a/Lib/distutils/command/build_scripts.py | ||
12 | +++ b/Lib/distutils/command/build_scripts.py | ||
13 | @@ -51,10 +51,7 @@ class build_scripts(Command): | ||
14 | |||
15 | |||
16 | def copy_scripts(self): | ||
17 | - """Copy each script listed in 'self.scripts'; if it's marked as a | ||
18 | - Python script in the Unix way (first line matches 'first_line_re', | ||
19 | - ie. starts with "\#!" and contains "python"), then adjust the first | ||
20 | - line to refer to the current Python interpreter as we copy. | ||
21 | + """Copy each script listed in 'self.scripts' | ||
22 | """ | ||
23 | self.mkpath(self.build_dir) | ||
24 | outfiles = [] | ||
25 | @@ -78,64 +75,10 @@ class build_scripts(Command): | ||
26 | if not self.dry_run: | ||
27 | raise | ||
28 | f = None | ||
29 | - else: | ||
30 | - encoding, lines = tokenize.detect_encoding(f.readline) | ||
31 | - f.seek(0) | ||
32 | - first_line = f.readline() | ||
33 | - if not first_line: | ||
34 | - self.warn("%s is an empty file (skipping)" % script) | ||
35 | - continue | ||
36 | - | ||
37 | - match = first_line_re.match(first_line) | ||
38 | - if match: | ||
39 | - adjust = True | ||
40 | - post_interp = match.group(1) or b'' | ||
41 | - | ||
42 | - if adjust: | ||
43 | - log.info("copying and adjusting %s -> %s", script, | ||
44 | - self.build_dir) | ||
45 | - updated_files.append(outfile) | ||
46 | - if not self.dry_run: | ||
47 | - if not sysconfig.python_build: | ||
48 | - executable = self.executable | ||
49 | - else: | ||
50 | - executable = os.path.join( | ||
51 | - sysconfig.get_config_var("BINDIR"), | ||
52 | - "python%s%s" % (sysconfig.get_config_var("VERSION"), | ||
53 | - sysconfig.get_config_var("EXE"))) | ||
54 | - executable = os.fsencode(executable) | ||
55 | - shebang = b"#!" + executable + post_interp + b"\n" | ||
56 | - # Python parser starts to read a script using UTF-8 until | ||
57 | - # it gets a #coding:xxx cookie. The shebang has to be the | ||
58 | - # first line of a file, the #coding:xxx cookie cannot be | ||
59 | - # written before. So the shebang has to be decodable from | ||
60 | - # UTF-8. | ||
61 | - try: | ||
62 | - shebang.decode('utf-8') | ||
63 | - except UnicodeDecodeError: | ||
64 | - raise ValueError( | ||
65 | - "The shebang ({!r}) is not decodable " | ||
66 | - "from utf-8".format(shebang)) | ||
67 | - # If the script is encoded to a custom encoding (use a | ||
68 | - # #coding:xxx cookie), the shebang has to be decodable from | ||
69 | - # the script encoding too. | ||
70 | - try: | ||
71 | - shebang.decode(encoding) | ||
72 | - except UnicodeDecodeError: | ||
73 | - raise ValueError( | ||
74 | - "The shebang ({!r}) is not decodable " | ||
75 | - "from the script encoding ({})" | ||
76 | - .format(shebang, encoding)) | ||
77 | - with open(outfile, "wb") as outf: | ||
78 | - outf.write(shebang) | ||
79 | - outf.writelines(f.readlines()) | ||
80 | - if f: | ||
81 | - f.close() | ||
82 | - else: | ||
83 | - if f: | ||
84 | + if f: | ||
85 | f.close() | ||
86 | - updated_files.append(outfile) | ||
87 | - self.copy_file(script, outfile) | ||
88 | + updated_files.append(outfile) | ||
89 | + self.copy_file(script, outfile) | ||
90 | |||
91 | if os.name == 'posix': | ||
92 | for file in outfiles: | ||