reproducible .pyc files (& python-for-android)

Leo Wandersleb leo at LeoWandersleb.de
Mon Jan 4 16:08:26 UTC 2021


> In Debian, Holger Levsen uploaded 540 packages ...

I sort of get what this means I think ... Maybe this could be dumbed down a bit,
especially as the in-depth links are there.


On 1/2/21 11:25 AM, Felix C. Stegerman wrote:
> Hi!
>
> I'm trying to get python-for-android (p4a) to build reproducible
> .APKs [1].
>
> At the moment I'm trying to figure out why I'm getting different .pyc
> files (python bytecode) on Github Actions vs on a local VM (both
> Ubuntu 20.04).
>
> p4a compiles those with "hostpython -OO -m compileall -b -f" (where
> hostpython is the cross-compiled Python for the target -- arm64-v8a or
> armeabi-v7a -- which is thus definitely the same version on both
> machines).
>
> diffoscope outputs e.g.
>
> ├── distutils/command/__init__.pyc
> │ @@ -10,17 +10,17 @@
> │  00000090: 6962 5a0f 696e 7374 616c 6c5f 6865 6164  ibZ.install_head
> │  000000a0: 6572 735a 0f69 6e73 7461 6c6c 5f73 6372  ersZ.install_scr
> │  000000b0: 6970 7473 5a0c 696e 7374 616c 6c5f 6461  iptsZ.install_da
> │  000000c0: 7461 5a05 7364 6973 74da 0872 6567 6973  taZ.sdist..regis
> │  000000d0: 7465 725a 0562 6469 7374 5a0a 6264 6973  terZ.bdistZ.bdis
> │  000000e0: 745f 6475 6d62 5a09 6264 6973 745f 7270  t_dumbZ.bdist_rp
> │  000000f0: 6d5a 0d62 6469 7374 5f77 696e 696e 7374  mZ.bdist_wininst
> │ -00000100: 5a05 6368 6563 6b5a 0675 706c 6f61 644e  Z.checkZ.uploadN
> │ -00000110: 2901 da07 5f5f 616c 6c5f 5fa9 0072 0400  )...__all__..r..
> │ -00000120: 0000 7204 0000 00fa af2f 686f 6d65 2f72  ..r....../home/r
> │ +00000100: da05 6368 6563 6b5a 0675 706c 6f61 644e  ..checkZ.uploadN
> │ +00000110: 2901 da07 5f5f 616c 6c5f 5fa9 0072 0500  )...__all__..r..
> │ +00000120: 0000 7205 0000 00fa af2f 686f 6d65 2f72  ..r....../home/r
> │  00000130: 756e 6e65 722f 776f 726b 2f6a 6974 656e  unner/work/jiten
> │  00000140: 2f6a 6974 656e 2f61 6e64 726f 6964 2f2e  /jiten/android/.
> │  00000150: 6275 696c 646f 7a65 722f 616e 6472 6f69  buildozer/androi
> │  00000160: 642f 706c 6174 666f 726d 2f62 7569 6c64  d/platform/build
> │  00000170: 2d61 726d 3634 2d76 3861 2f62 7569 6c64  -arm64-v8a/build
> │  00000180: 2f6f 7468 6572 5f62 7569 6c64 732f 7079  /other_builds/py
> │  00000190: 7468 6f6e 332f 6172 6d36 342d 7638 615f  thon3/arm64-v8a_
>
> I'm hoping someone on this list knows how to fix this or can point me
> in the right direction.
>
> Thanks.
>
> - Felix
>
> [1] https://github.com/kivy/python-for-android/pull/2390



More information about the rb-general mailing list