diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2016-05-01 22:15:12 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2016-05-17 22:46:17 +0200 |
commit | 476f5fc8f6eba6ee44ce2e0812a1492609331f7d (patch) | |
tree | fb2bfb551a10f628f8ecfc20cb6f0f6297a891c0 /package/python3/0018-Add-an-option-to-disable-pydoc.patch | |
parent | 61c8854cef2a41be3175bbf7f0992c31560a1dd7 (diff) |
python3: bump to 3.5.1
The major changes in terms of Buildroot packaging are:
- Due to PEP488, Python no longer generates .pyc (unoptimized) and
.pyo (optimized) byte-code files. Instead, it generates <foo>.pyc,
<foo>.opt-1.pyc and <foo>.opt-2.pyc. Therefore, we removed the
--disable-pyo-build option and kept only the --disable-pyc-build
option, which completely disables building all .pyc files. In
addition, since the optimized .opt-X.pyc files don't work if the
corresponding un-optimized .pyc file is not present, we are for the
moment unconditionally removing the optimized ones (keeping both
the unoptimized and optimized ones doubles the required filesystem
size!). So basically we preserve the behavior we had before this
commit:
BR2_PACKAGE_PYTHON3_PY_ONLY -> only *.py
BR2_PACKAGE_PYTHON3_PYC_ONLY -> only non-optimized *.pyc
BR2_PACKAGE_PYTHON3_PY_PYC -> both the *.py and non-optimized *.pyc
To achieve this, the TARGET_FINALIZE_HOOKS are reworked:
PYTHON3_REMOVE_PY_FILES is responsible for removing *.py files in
the BR2_PACKAGE_PYTHON3_PYC_ONLY case.
PYTHON3_REMOVE_PYC_FILES is responsible for removing *.pyc files
in the BR2_PACKAGE_PYTHON3_PY_ONLY case.
PYTHON3_REMOVE_OPTIMIZED_PYC_FILES is responsible for removing the
optimized *.opt-1.pyc and *.opt-2.pyc files, which is done
unconditionally.
- The PEP3147 disabling patch had to be significantly reworked due to
the code having changed heavily. The code was moved into a
_bootstrap_external.py, which is a "frozen" Python module, i.e a
module generated into a .h file at compile time using the
_freeze_importlib program.
- Due to the above, we now need to regenerate importlib.h at build
time. Unfortunately, for the target Python _freeze_importlib is
built for the target, so we can't run it on the build machine. To
fix this, we copy the _freeze_importlib program from the
host-python in $(HOST_DIR), and then patch the target python to use
it. Since the same solution can be used for 'pgen', we do it, and
avoid having to touch the graminit.{c,h} files.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/python3/0018-Add-an-option-to-disable-pydoc.patch')
-rw-r--r-- | package/python3/0018-Add-an-option-to-disable-pydoc.patch | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/package/python3/0018-Add-an-option-to-disable-pydoc.patch b/package/python3/0018-Add-an-option-to-disable-pydoc.patch index 22f194a55..670ad40c5 100644 --- a/package/python3/0018-Add-an-option-to-disable-pydoc.patch +++ b/package/python3/0018-Add-an-option-to-disable-pydoc.patch @@ -1,4 +1,4 @@ -From 99ef88cb47a396e2c7005e59e50d34e0a60dd3cb Mon Sep 17 00:00:00 2001 +From a83b79b964700604de386800f86e5a55f53a0e17 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Wed, 23 Dec 2015 11:47:11 +0100 Subject: [PATCH] Add an option to disable pydoc @@ -15,10 +15,10 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com> 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 12fae84..5e2333e 100644 +index d4c771a..a98ad65 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1100,7 +1100,9 @@ bininstall: altbininstall +@@ -1134,7 +1134,9 @@ bininstall: altbininstall -rm -f $(DESTDIR)$(BINDIR)/idle3 (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) -rm -f $(DESTDIR)$(BINDIR)/pydoc3 @@ -28,7 +28,7 @@ index 12fae84..5e2333e 100644 -rm -f $(DESTDIR)$(BINDIR)/2to3 (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) -rm -f $(DESTDIR)$(BINDIR)/pyvenv -@@ -1151,7 +1153,7 @@ LIBSUBDIRS= tkinter \ +@@ -1184,7 +1186,7 @@ LIBSUBDIRS= tkinter \ multiprocessing multiprocessing/dummy \ unittest \ venv venv/scripts venv/scripts/posix \ @@ -37,7 +37,7 @@ index 12fae84..5e2333e 100644 TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \ test test/test_asyncio \ -@@ -1195,6 +1197,10 @@ TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \ +@@ -1233,6 +1235,10 @@ TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \ test/test_importlib/import_ test/test_importlib/source \ unittest/test unittest/test/testmock @@ -49,10 +49,10 @@ index 12fae84..5e2333e 100644 LIBSUBDIRS += $(TESTSUBDIRS) endif diff --git a/configure.ac b/configure.ac -index b7a8836..2e75345 100644 +index 9f3d226..e9b6d6f 100644 --- a/configure.ac +++ b/configure.ac -@@ -2658,6 +2658,11 @@ if test "$posix_threads" = "yes"; then +@@ -2894,6 +2894,11 @@ if test "$posix_threads" = "yes"; then AC_CHECK_FUNCS(pthread_atfork) fi @@ -65,10 +65,10 @@ index b7a8836..2e75345 100644 AC_SUBST(TEST_MODULES) diff --git a/setup.py b/setup.py -index 8966779..69198db 100644 +index 3feca04..137911d 100644 --- a/setup.py +++ b/setup.py -@@ -2200,6 +2200,12 @@ def main(): +@@ -2220,6 +2220,12 @@ def main(): # turn off warnings when deprecated modules are imported import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) @@ -81,7 +81,7 @@ index 8966779..69198db 100644 setup(# PyPI Metadata (PEP 301) name = "Python", version = sys.version.split()[0], -@@ -2224,8 +2230,7 @@ def main(): +@@ -2244,8 +2250,7 @@ def main(): # If you change the scripts installed here, you also need to # check the PyBuildScripts command above, and change the links # created by the bininstall target in Makefile.pre.in |