FS#70349 - [python-elementpath] Package is unreproducible due to .pyc shipped in the package

Attached to Project: Community Packages
Opened by Z. Ren (zren) - Thursday, 08 April 2021, 02:26 GMT
Last edited by Eli Schwartz (eschwartz) - Thursday, 08 April 2021, 04:08 GMT
Task Type Bug Report
Category Reproducible Builds
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Hi!

While conducting a research in the spirit of the "reproducible builds" [1], we have noticed that the package python-elementpath could not be built reproducibly, in that the python interpreter introduces non-determinism when generating the bytecode (.pyc file, see the attached diff.json). According to the documentation [2], invoking "export PYTHONHASHSEED=0" before the bytecode compiling will solve this issue.

The attached patch does exactly this. Once applied, the package can be built reproducibly.


Additional info:
* python-elementpath 2.2.1-1

Steps to reproduce:
The unreproducible build result could be detected with reprotest [3].

[1]: https://wiki.debian.org/ReproducibleBuilds
[2]: https://wiki.archlinux.org/index.php/Python_package_guidelines#Reproducible_bytecode
[3]: https://wiki.archlinux.org/index.php/DeveloperWiki:ReproducibleBuilds

Best wishes
This task depends upon

Closed by  Eli Schwartz (eschwartz)
Thursday, 08 April 2021, 04:08 GMT
Reason for closing:  None
Additional comments about closing:  Thank you! I've created a mass TODO list to handle this and other packages: https://archlinux.org/todo/unreproducibl e-python-bytecode/

Loading...