diff options
author | Andreas Oberritter <obi@opendreambox.org> | 2012-02-25 02:19:10 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-02-26 11:42:34 +0000 |
commit | eb8ce05d1315110bb1d297dcd4971edf3a54ca9a (patch) | |
tree | 191b265fc071d3bf2034ac44264a0fcb7c36996b | |
parent | 6aa3a09876cebb3c2ef3a2d91bbdd10e1b5c6190 (diff) | |
download | poky-eb8ce05d1315110bb1d297dcd4971edf3a54ca9a.tar.gz |
automake: omit compilation of pyc files on install
* On install, automake calls py-compile, which previously
compiled python source code to pyc and pyo, which both
got packaged.
* The python interpreter in OE contains patches to enable
optimization (pyo) by default:
04-default-is-optimized.patch
99-ignore-optimization-flag.patch
* automake created pyc files by calling py_compile.compile()
and adding the c suffix manually, resulting in identical
byte code for both pyc and pyo files.
* py-compile-compile-only-optimized-byte-code.patch
applies to automake 1.11 and automake master, but older
versions require a slightly modified patch. However,
older versions are only pinned by chinook-compat and
nylon, so I left them untouched.
(From OE-Core rev: 40ccf816c597e7eed5243fb4b4e9473d2b58afaa)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The patch was imported from the OpenEmbedded git server
(git://git.openembedded.org/openembedded) as of commit id
aa4585c5065e05c759f16e1e8623fc7f40640f1b.
Modified to apply to automake version 1.11.2 and to
include a patch header. Also renamed the patch.
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/automake/automake/py-compile-compile-only-optimized-byte-code.patch | 42 | ||||
-rw-r--r-- | meta/recipes-devtools/automake/automake_1.11.2.bb | 5 |
2 files changed, 45 insertions, 2 deletions
diff --git a/meta/recipes-devtools/automake/automake/py-compile-compile-only-optimized-byte-code.patch b/meta/recipes-devtools/automake/automake/py-compile-compile-only-optimized-byte-code.patch new file mode 100644 index 0000000000..f09bfbca5d --- /dev/null +++ b/meta/recipes-devtools/automake/automake/py-compile-compile-only-optimized-byte-code.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | Upstream-Status: Inappropriate [embedded specific] | ||
2 | |||
3 | * OE-Core's python creates the same binary output | ||
4 | for both pyc and pyo, so disable the creation of | ||
5 | pyc files by automake. | ||
6 | |||
7 | Signed-off-by: Andreas Oberritter <obi@opendreambox.org> | ||
8 | --- | ||
9 | lib/py-compile | 17 ----------------- | ||
10 | 1 files changed, 0 insertions(+), 17 deletions(-) | ||
11 | |||
12 | diff --git a/lib/py-compile b/lib/py-compile | ||
13 | index 3f9d05b..101c814 100755 | ||
14 | --- a/lib/py-compile | ||
15 | +++ b/lib/py-compile | ||
16 | @@ -101,23 +101,6 @@ else | ||
17 | filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" | ||
18 | fi | ||
19 | |||
20 | -$PYTHON -c " | ||
21 | -import sys, os, py_compile | ||
22 | - | ||
23 | -files = '''$files''' | ||
24 | - | ||
25 | -sys.stdout.write('Byte-compiling python modules...\n') | ||
26 | -for file in files.split(): | ||
27 | - $pathtrans | ||
28 | - $filetrans | ||
29 | - if not os.path.exists(filepath) or not (len(filepath) >= 3 | ||
30 | - and filepath[-3:] == '.py'): | ||
31 | - continue | ||
32 | - sys.stdout.write(file) | ||
33 | - sys.stdout.flush() | ||
34 | - py_compile.compile(filepath, filepath + 'c', path) | ||
35 | -sys.stdout.write('\n')" || exit $? | ||
36 | - | ||
37 | # this will fail for python < 1.5, but that doesn't matter ... | ||
38 | $PYTHON -O -c " | ||
39 | import sys, os, py_compile | ||
40 | -- | ||
41 | 1.7.0.4 | ||
42 | |||
diff --git a/meta/recipes-devtools/automake/automake_1.11.2.bb b/meta/recipes-devtools/automake/automake_1.11.2.bb index 4534c390ba..4271336070 100644 --- a/meta/recipes-devtools/automake/automake_1.11.2.bb +++ b/meta/recipes-devtools/automake/automake_1.11.2.bb | |||
@@ -37,9 +37,10 @@ PATHFIXPATCH_virtclass-nativesdk = "" | |||
37 | SRC_URI += "${PATHFIXPATCH} \ | 37 | SRC_URI += "${PATHFIXPATCH} \ |
38 | file://prefer-cpio-over-pax-for-ustar-archives.patch \ | 38 | file://prefer-cpio-over-pax-for-ustar-archives.patch \ |
39 | file://python-libdir.patch \ | 39 | file://python-libdir.patch \ |
40 | file://automake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch" | 40 | file://automake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch \ |
41 | file://py-compile-compile-only-optimized-byte-code.patch" | ||
41 | 42 | ||
42 | PR = "r1" | 43 | PR = "r2" |
43 | SRC_URI[md5sum] = "18194e804d415767bae8f703c963d456" | 44 | SRC_URI[md5sum] = "18194e804d415767bae8f703c963d456" |
44 | SRC_URI[sha256sum] = "4f46d1f9380c8a3506280750f630e9fc915cb1a435b724be56b499d016368718" | 45 | SRC_URI[sha256sum] = "4f46d1f9380c8a3506280750f630e9fc915cb1a435b724be56b499d016368718" |
45 | 46 | ||