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>
2016-05-01 22:15:12 +02:00
|
|
|
From 1d2891204c6bf05d5e2eb0e5fa2ee78f6a2b755b Mon Sep 17 00:00:00 2001
|
2016-01-04 19:23:28 +01:00
|
|
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
Date: Wed, 23 Dec 2015 11:47:00 +0100
|
|
|
|
Subject: [PATCH] Add an option to disable installation of test modules
|
2013-05-29 10:36:57 +02:00
|
|
|
|
|
|
|
The Python standard distribution comes with many test modules, that
|
|
|
|
are not necessarly useful on embedded targets.
|
|
|
|
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
|
|
|
---
|
2016-01-04 19:23:28 +01:00
|
|
|
Makefile.pre.in | 56 ++++++++++++++++++++++++++++++++++++--------------------
|
|
|
|
configure.ac | 6 ++++++
|
|
|
|
2 files changed, 42 insertions(+), 20 deletions(-)
|
2013-05-29 10:36:57 +02:00
|
|
|
|
2016-01-04 19:23:28 +01:00
|
|
|
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
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>
2016-05-01 22:15:12 +02:00
|
|
|
index 9420860..d4c771a 100644
|
2014-02-18 21:40:01 +01:00
|
|
|
--- a/Makefile.pre.in
|
|
|
|
+++ b/Makefile.pre.in
|
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>
2016-05-01 22:15:12 +02:00
|
|
|
@@ -1166,8 +1166,30 @@ maninstall: altmaninstall
|
|
|
|
PLATDIR= @PLATDIR@
|
|
|
|
MACHDEPS= $(PLATDIR)
|
2013-05-29 10:36:57 +02:00
|
|
|
XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax
|
|
|
|
-LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
|
|
|
|
- tkinter/test/test_ttk site-packages test \
|
|
|
|
+LIBSUBDIRS= tkinter \
|
|
|
|
+ site-packages \
|
2014-02-18 21:40:01 +01:00
|
|
|
+ asyncio \
|
2013-05-29 10:36:57 +02:00
|
|
|
+ collections concurrent concurrent/futures encodings \
|
|
|
|
+ email email/mime \
|
2014-02-18 21:40:01 +01:00
|
|
|
+ ensurepip ensurepip/_bundled \
|
2013-05-29 10:36:57 +02:00
|
|
|
+ html json http dbm xmlrpc \
|
|
|
|
+ sqlite3 \
|
|
|
|
+ logging csv wsgiref urllib \
|
|
|
|
+ lib2to3 lib2to3/fixes lib2to3/pgen2 \
|
2014-02-18 21:40:01 +01:00
|
|
|
+ ctypes ctypes/macholib \
|
|
|
|
+ idlelib idlelib/Icons \
|
2013-05-29 10:36:57 +02:00
|
|
|
+ distutils distutils/command $(XMLLIBSUBDIRS) \
|
|
|
|
+ importlib \
|
|
|
|
+ turtledemo \
|
|
|
|
+ multiprocessing multiprocessing/dummy \
|
|
|
|
+ unittest \
|
|
|
|
+ venv venv/scripts venv/scripts/posix \
|
|
|
|
+ curses pydoc_data $(MACHDEPS)
|
|
|
|
+
|
2014-02-18 21:40:01 +01:00
|
|
|
+TESTSUBDIRS = tkinter/test tkinter/test/test_tkinter tkinter/test/test_ttk \
|
2014-07-08 12:42:39 +02:00
|
|
|
+ test test/test_asyncio \
|
2014-02-18 21:40:01 +01:00
|
|
|
+ test/test_email test/test_email/data \
|
|
|
|
+ test/test_json \
|
|
|
|
test/audiodata \
|
2013-05-29 10:36:57 +02:00
|
|
|
test/capath test/data \
|
|
|
|
test/cjkencodings test/decimaltestdata test/xmltestdata \
|
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>
2016-05-01 22:15:12 +02:00
|
|
|
@@ -1199,28 +1221,22 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
|
2014-07-08 12:42:39 +02:00
|
|
|
test/test_importlib/namespace_pkgs/project3/parent/child \
|
|
|
|
test/test_importlib/namespace_pkgs/module_and_namespace_package \
|
|
|
|
test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test \
|
2014-02-18 21:40:01 +01:00
|
|
|
- asyncio \
|
|
|
|
- test/test_asyncio \
|
2013-05-29 10:36:57 +02:00
|
|
|
- collections concurrent concurrent/futures encodings \
|
|
|
|
- email email/mime test/test_email test/test_email/data \
|
2014-02-18 21:40:01 +01:00
|
|
|
- ensurepip ensurepip/_bundled \
|
|
|
|
- html json test/test_json http dbm xmlrpc \
|
2013-05-29 10:36:57 +02:00
|
|
|
- sqlite3 sqlite3/test \
|
|
|
|
- logging csv wsgiref urllib \
|
|
|
|
- lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \
|
2014-07-08 12:42:39 +02:00
|
|
|
+ sqlite3/test \
|
2013-05-29 10:36:57 +02:00
|
|
|
+ lib2to3/tests \
|
|
|
|
lib2to3/tests/data lib2to3/tests/data/fixers \
|
|
|
|
lib2to3/tests/data/fixers/myfixes \
|
2014-02-18 21:40:01 +01:00
|
|
|
- ctypes ctypes/test ctypes/macholib \
|
|
|
|
- idlelib idlelib/Icons idlelib/idle_test \
|
2013-05-29 10:36:57 +02:00
|
|
|
- distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \
|
|
|
|
- importlib test/test_importlib test/test_importlib/builtin \
|
2014-07-08 12:42:39 +02:00
|
|
|
+ ctypes/test \
|
|
|
|
+ idlelib/idle_test \
|
|
|
|
+ distutils/tests \
|
2013-05-29 10:36:57 +02:00
|
|
|
+ test/test_importlib test/test_importlib/builtin \
|
|
|
|
test/test_importlib/extension test/test_importlib/frozen \
|
|
|
|
test/test_importlib/import_ test/test_importlib/source \
|
|
|
|
- turtledemo \
|
|
|
|
- multiprocessing multiprocessing/dummy \
|
|
|
|
- unittest unittest/test unittest/test/testmock \
|
|
|
|
- venv venv/scripts venv/scripts/posix \
|
|
|
|
- curses pydoc_data $(MACHDEPS)
|
2014-07-08 12:42:39 +02:00
|
|
|
+ unittest/test unittest/test/testmock
|
2014-02-18 21:40:01 +01:00
|
|
|
+
|
|
|
|
+ifeq (@TEST_MODULES@,yes)
|
|
|
|
+LIBSUBDIRS += $(TESTSUBDIRS)
|
2013-05-29 10:36:57 +02:00
|
|
|
+endif
|
|
|
|
+
|
|
|
|
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
|
|
|
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
|
|
|
do \
|
2016-01-04 19:23:28 +01:00
|
|
|
diff --git a/configure.ac b/configure.ac
|
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>
2016-05-01 22:15:12 +02:00
|
|
|
index bfb599e..9f3d226 100644
|
2014-02-18 21:40:01 +01:00
|
|
|
--- a/configure.ac
|
|
|
|
+++ b/configure.ac
|
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>
2016-05-01 22:15:12 +02:00
|
|
|
@@ -2895,6 +2895,12 @@ if test "$posix_threads" = "yes"; then
|
2013-05-29 10:36:57 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
+AC_SUBST(TEST_MODULES)
|
|
|
|
+
|
|
|
|
+AC_ARG_ENABLE(test-modules,
|
|
|
|
+ AS_HELP_STRING([--disable-test-modules], [disable test modules]),
|
|
|
|
+ [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ])
|
|
|
|
+
|
|
|
|
# Check for enable-ipv6
|
|
|
|
AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified])
|
|
|
|
AC_MSG_CHECKING([if --enable-ipv6 is specified])
|
2016-01-04 19:23:28 +01:00
|
|
|
--
|
|
|
|
2.6.4
|
|
|
|
|