#1029295 python-miio: Compatibility with python3-click > 8.0 (& make the build reproducible) #1029295
- Package:
- src:python-miio
- Source:
- src:python-miio
- Submitter:
- Chris Lamb
- Date:
- 2024-03-13 09:22:24 UTC
- Severity:
- normal
- Tags:
Hi, Whilst working on the Reproducible Builds effort [0] we noticed that python-miio could not be built reproducibly. This because the generation of the manual pages via help2man was resulting in an error and thus the inclusion of a Python traceback within those manpages. This traceback specified the absolute build path which made the build unreproducible. (As it happens, I believe there is a Lintian check for manpages that include Python tracebacks.) However, I believe the issue is deeper than just a reproducibility issue, in that miio is not actually compatible with python3-click versions greater than 8.0, as that is the version that Click renamed the "resultcallback" method to "result_callback": https://click.palletsprojects.com/en/8.1.x/api/#click.MultiCommand.result_callback Patch attached that simply renames these methods. [0] https://reproducible-builds.org/ Regards,
Dear Maintainer, Because Debian builds packages from a fixed build path, neither the 'reprotest' utility in Salsa-CI, nor the Reproducible Builds team's package test infrastructure for Debian[1] currently check for equivalent binary package output from differing source package build paths. This means that your package will pass current reproducibility tests; however we believe that source code and/or build steps still embed the build path into the binary package output, making it more difficult than necessary for independent consumers to check the integrity of binary packages by recompiling them themselves. As a result, this bugreport will remain open and be re-assigned the 'wishlist' severity[2]. For more information about build paths and how they can affect reproducibility, please refer to: https://reproducible-builds.org/docs/build-path/ Thanks, James [1] - https://tests.reproducible-builds.org/debian/reproducible.html [2] - https://www.debian.org/Bugs/Developer#severities
A correction for a mistake in my previous message: Currently the 'reprotest' job in Salsa-CI does in fact continue to exercise variations of the build-path, and will fail if it builds binary packages that contain different contents as a result.