diff options
| author | Matt Weber <matthew.weber@rockwellcollins.com> | 2018-10-20 07:49:51 -0500 |
|---|---|---|
| committer | Peter Korsgaard <peter@korsgaard.com> | 2018-10-21 19:20:57 +0200 |
| commit | 0b68713aae2887edf395c135ebbfaeeb8e77f2f4 (patch) | |
| tree | 944a3ae8b6419901a4c843a7c3fe9f1ff018f7b9 /package/python3 | |
| parent | e33ea1c9a2c6d6a6bcf08ddc0ac0f06edf5f41ec (diff) | |
| download | buildroot-0b68713aae2887edf395c135ebbfaeeb8e77f2f4.tar.gz buildroot-0b68713aae2887edf395c135ebbfaeeb8e77f2f4.zip | |
python3: use pure python UUID backend
Python3 at runtime identifies the uuid backend to use to implement safe
time-based UUID generation functions. When the python _uuid extension
module, /usr/lib/python3.7/lib-dynload/_uuid.cpython-37m-<arch>.so
is not found, the fall back is to use a pure python implementation.
- If uuid.h from util-linux is available at build time, the _uuid
module is built and used. A Buildroot patch allows us to disable this
build-time check and never build the _uuid module.
With the bump to python 3.7, an optional dependency on util-linux was
added to build the _uuid module. However, this may lead to circular
dependencies. To break this circular dependency, we can disable the
build of the _uuid module and always use the pure python implementation.
Ref:
http://lists.busybox.net/pipermail/buildroot/2018-October/233113.html
http://lists.busybox.net/pipermail/buildroot/2018-September/231060.html
http://lists.busybox.net/pipermail/buildroot/2018-October/233079.html
CC: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Tested-by: Carlos Santos <casantos@datacom.com.br>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/python3')
| -rw-r--r-- | package/python3/Config.in | 10 | ||||
| -rw-r--r-- | package/python3/python3.mk | 7 |
2 files changed, 3 insertions, 14 deletions
diff --git a/package/python3/Config.in b/package/python3/Config.in index 6d77396380..0c5018f0b3 100644 --- a/package/python3/Config.in +++ b/package/python3/Config.in @@ -89,16 +89,6 @@ config BR2_PACKAGE_PYTHON3_UNICODEDATA Unicode character database (used by stringprep module) (large). -config BR2_PACKAGE_PYTHON3_UUID - bool "uuid module" - select BR2_PACKAGE_UTIL_LINUX - select BR2_PACKAGE_UTIL_LINUX_LIBUUID - help - This module provides immutable UUID objects (the UUID class) - and the functions uuid1(), uuid3(), uuid4(), uuid5() for - generating version 1, 3, 4, and 5 UUIDs as specified in RFC - 4122. - config BR2_PACKAGE_PYTHON3_SQLITE bool "sqlite module" select BR2_PACKAGE_SQLITE diff --git a/package/python3/python3.mk b/package/python3/python3.mk index efb44c0454..cd01cf1ac3 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -94,11 +94,10 @@ ifneq ($(BR2_PACKAGE_PYTHON3_UNICODEDATA),y) PYTHON3_CONF_OPTS += --disable-unicodedata endif -ifeq ($(BR2_PACKAGE_PYTHON3_UUID),y) -PYTHON3_DEPENDENCIES += util-linux -else +# Disable auto-detection of uuid.h (util-linux) +# which would add _uuid module support, instead +# default to the pure python implementation PYTHON3_CONF_OPTS += --disable-uuid -endif ifeq ($(BR2_PACKAGE_PYTHON3_BZIP2),y) PYTHON3_DEPENDENCIES += bzip2 |

