python3: use pure python UUID backend
authorMatt Weber <matthew.weber@rockwellcollins.com>
Sat, 20 Oct 2018 12:49:51 +0000 (07:49 -0500)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 21 Oct 2018 17:20:57 +0000 (19:20 +0200)
commit0b68713aae2887edf395c135ebbfaeeb8e77f2f4
tree944a3ae8b6419901a4c843a7c3fe9f1ff018f7b9
parente33ea1c9a2c6d6a6bcf08ddc0ac0f06edf5f41ec
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>
package/python3/Config.in
package/python3/python3.mk