Open
Description
While working on reproducible builds for openSUSE (sponsored by the NLnet NGI0 fund), I found that various python packages (python-pandas, python-scikit-learn, python-scipy, python-contourpy, python-gobject) have variations in every build.
I am pretty certain this comes from
meson-python/mesonpy/__init__.py
Line 965 in 04e0066
but don't know how to best make this deterministic.
Is there a variant of tempfile.TemporaryDirectory
that does not add randomness? I tried with pathlib.Path(os.path.join(source_dir, '.mesonpy'))
but that lacks the automatic cleanup.
Here is a typical diff:
--- old /usr/lib/debug/.dwz/python-pandas-2.2.2-1.1.x86_64 (objdump)
+++ new /usr/lib/debug/.dwz/python-pandas-2.2.2-1.1.x86_64 (objdump)
@@ -14923,7 +14923,7 @@
0010 01010101 081e3c64 777a3e00 2f757372 ......<dwz>./usr
0020 2f737263 2f646562 75672f70 616e6461 /src/debug/panda
0030 732d322e 322e322f 2e6d6573 6f6e7079 s-2.2.2/.mesonpy
- 0040 2d6e7777 6b673134 74002f75 73722f6c -nwwkg14t./usr/l
+ 0040 2d73615f 6761376e 33002f75 73722f6c -sa_ga7n3./usr/l
0050 69623634 2f676363 2f783836 5f36342d ib64/gcc/x86_64-
0060 73757365 2d6c696e 75782f31 342f696e suse-linux/14/in
0070 636c7564 65002f75 73722f69 6e636c75 clude./usr/inclu
@@ -14965,7 +14965,7 @@
02b0 2f6e756d 70792f64 61746574 696d6500 /numpy/datetime.
02c0 2f757372 2f737263 2f646562 75672f70 /usr/src/debug/p
02d0 616e6461 732d322e 322e322f 2e6d6573 andas-2.2.2/.mes
- 02e0 6f6e7079 2d757868 63736133 66002f75 onpy-uxhcsa3f./u
+ 02e0 6f6e7079 2d713166 36397136 61002f75 onpy-q1f69q6a./u
02f0 73722f69 6e636c75 64652f70 7974686f sr/include/pytho
0300 6e332e31 31002f75 73722f69 6e636c75 n3.11./usr/inclu