]> code.ossystems Code Review - openembedded-core.git/commitdiff
python3-numpy: Fix pyc determinism issue
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 24 Feb 2022 23:27:27 +0000 (23:27 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 25 Feb 2022 15:06:46 +0000 (15:06 +0000)
Using frozenset causes problems for pyc file determinism. For now remove
the problematic pyc file as we do in the main python3 recipe.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/python/python3-numpy_1.22.2.bb

index d2b2f3e38d5b45b79e9ced3419993a197e765c1c..43e7427eab5ba9a0f4068fb7b626c1c2463ed428 100644 (file)
@@ -30,6 +30,15 @@ do_compile:prepend() {
     export NPY_DISABLE_SVML=1
 }
 
+# Unfortunately the following pyc files are non-deterministc due to 'frozenset'
+# being written without strict ordering, even with PYTHONHASHSEED = 0
+# Upstream is discussing ways to solve the issue properly, until then let's
+# just not install the problematic files.
+# More info: http://benno.id.au/blog/2013/01/15/python-determinism
+do_install:append() {
+       rm ${D}${PYTHON_SITEPACKAGES_DIR}/numpy/typing/tests/data/pass/__pycache__/literal.cpython*
+}
+
 FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a"
 
 # install what is needed for numpy.test()