2017-09-19 00:34:41 +02:00
|
|
|
From d35deaa5c65c29f2a56a29fd5fc1dadadd485eaf Mon Sep 17 00:00:00 2001
|
python3: make readline, gzip, bzip2 and xz really optional
The BR2_PACKAGE_PYTHON3_{READLINE,ZLIB,BZIP2,XZ} options were so far
only bringing in the necessary dependencies, relying on the Python
build system to automatically detect them.
However, this means that even if one of those option was disabled, if
their dependency was found, Python would build the corresponding module,
which is really not what the user would expect.
For example, if you have:
BR2_PACKAGE_READLINE=y
# BR2_PACKAGE_PYTHON3_READLINE is not set
Then you would still get the readline Python module built and installed.
This commit fixes that by adding new --{enable,disable} options, and use
them in python3.mk.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-08 00:00:31 +01:00
|
|
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
Date: Tue, 7 Mar 2017 23:29:05 +0100
|
|
|
|
Subject: [PATCH] Add an option to disable the readline module
|
|
|
|
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
---
|
|
|
|
configure.ac | 6 ++++++
|
|
|
|
1 file changed, 6 insertions(+)
|
|
|
|
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
2017-09-19 00:34:41 +02:00
|
|
|
index 28bcdabd67..484f6ebaca 100644
|
python3: make readline, gzip, bzip2 and xz really optional
The BR2_PACKAGE_PYTHON3_{READLINE,ZLIB,BZIP2,XZ} options were so far
only bringing in the necessary dependencies, relying on the Python
build system to automatically detect them.
However, this means that even if one of those option was disabled, if
their dependency was found, Python would build the corresponding module,
which is really not what the user would expect.
For example, if you have:
BR2_PACKAGE_READLINE=y
# BR2_PACKAGE_PYTHON3_READLINE is not set
Then you would still get the readline Python module built and installed.
This commit fixes that by adding new --{enable,disable} options, and use
them in python3.mk.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-08 00:00:31 +01:00
|
|
|
--- a/configure.ac
|
|
|
|
+++ b/configure.ac
|
python3: bump to 3.7.0
Other changes include:
- Refreshing all necessary patches for 3.7.0
- Add a hash for the license file.
- Python no longer has it's own internal libffi, as such, host-libffi
is now required to build host-python3, and is added as a
dependency.
- Drop PYTHON3_LIBTOOL_PATCH = NO, since there is no longer any
internal libffi copy that was causing the libtool patching process
to fail.
- A new core module "uuid" is now is added in the Config.in file, and
relies on util-linux's uuid library.
- Also, a new patch: 0030-Fix-cross-compiling-the-uuid-module.patch
is required to fix compiling the uuid module, because the include
directory search path for uuid.h is hardcoded to /usr/include/uuid,
which causes an "unsafe for cross-compilation" error during
compiling if the host pc has uuid headers installed.
- 0031-Add-an-option-to-disable-uuid-module.patch is added to allow
disabling the Python3 UUID module, so that when
BR2_PACKAGE_PYTHON3_UUID is disabled by the UUID library is
present, the uuid Python module is not built, as expected.
- 0032-fix-building-on-older-distributions.patch is added to change
os.replace by os.rename in the update_file.py script to fix
building on older Linux distributions that have older versions of
python that don't include os.replace.
os.rename acts in the same way as os.replace, but is cross-platform
compatible. Because Buildroot is guaranteed to be built in a POSIX
environment, it is safe to change replace to rename.
Tested on CentOS6 and Fedora28, All test results passed:
br-arm-full [1/6]: OK
br-arm-cortex-a9-glibc [2/6]: OK
br-arm-cortex-m4-full [3/6]: SKIPPED
br-x86-64-musl [4/6]: OK
br-arm-full-static [5/6]: SKIPPED
armv5-ctng-linux-gnueabi [6/6]: OK
6 builds, 2 skipped, 0 build failed, 0 legal-info failed
Signed-off-by: Adam Duskett <aduskett@gmail.com>
[Thomas:
- remove PYTHON3_LIBTOOL_PATCH = NO
- improve the solution in patch 0030-Fix-cross-compiling-the-uuid-module
- add patch 0031-Add-an-option-to-disable-uuid-module]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-07-20 18:10:21 +02:00
|
|
|
@@ -3216,6 +3216,12 @@ AC_ARG_ENABLE(openssl,
|
python3: make readline, gzip, bzip2 and xz really optional
The BR2_PACKAGE_PYTHON3_{READLINE,ZLIB,BZIP2,XZ} options were so far
only bringing in the necessary dependencies, relying on the Python
build system to automatically detect them.
However, this means that even if one of those option was disabled, if
their dependency was found, Python would build the corresponding module,
which is really not what the user would expect.
For example, if you have:
BR2_PACKAGE_READLINE=y
# BR2_PACKAGE_PYTHON3_READLINE is not set
Then you would still get the readline Python module built and installed.
This commit fixes that by adding new --{enable,disable} options, and use
them in python3.mk.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-08 00:00:31 +01:00
|
|
|
DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib"
|
|
|
|
fi])
|
|
|
|
|
|
|
|
+AC_ARG_ENABLE(readline,
|
|
|
|
+ AS_HELP_STRING([--disable-readline], [disable readline]),
|
|
|
|
+ [ if test "$enableval" = "no"; then
|
|
|
|
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline"
|
|
|
|
+ fi])
|
|
|
|
+
|
|
|
|
AC_SUBST(TK)
|
|
|
|
AC_ARG_ENABLE(tk,
|
|
|
|
AS_HELP_STRING([--disable-tk], [disable tk]),
|
|
|
|
--
|
2017-09-19 00:34:41 +02:00
|
|
|
2.13.5
|
python3: make readline, gzip, bzip2 and xz really optional
The BR2_PACKAGE_PYTHON3_{READLINE,ZLIB,BZIP2,XZ} options were so far
only bringing in the necessary dependencies, relying on the Python
build system to automatically detect them.
However, this means that even if one of those option was disabled, if
their dependency was found, Python would build the corresponding module,
which is really not what the user would expect.
For example, if you have:
BR2_PACKAGE_READLINE=y
# BR2_PACKAGE_PYTHON3_READLINE is not set
Then you would still get the readline Python module built and installed.
This commit fixes that by adding new --{enable,disable} options, and use
them in python3.mk.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-08 00:00:31 +01:00
|
|
|
|