Bug#1029295: python-miio: Compatibility with python3-click > 8.0 (& make the build reproducible)
Chris Lamb
lamby at debian.org
Fri Jan 20 19:11:19 GMT 2023
Source: python-miio
Version: 0.5.0.1-2
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org
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,
--
,''`.
: :' : Chris Lamb
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
-------------- next part --------------
--- a/debian/patches/result_callback.patch 1969-12-31 16:00:00.000000000 -0800
--- b/debian/patches/result_callback.patch 2023-01-20 11:05:18.752043147 -0800
@@ -0,0 +1,26 @@
+Description: Make the build reproducible
+Author: Chris Lamb <lamby at debian.org>
+Last-Update: 2023-01-20
+
+--- python-miio-0.5.0.1.orig/miio/vacuum.py
++++ python-miio-0.5.0.1/miio/vacuum.py
+@@ -670,7 +670,7 @@ class Vacuum(Device):
+ callback=callback,
+ )
+
+- @dg.resultcallback()
++ @dg.result_callback()
+ @dg.device_pass
+ def cleanup(vac: Vacuum, *args, **kwargs):
+ if vac.ip is None: # dummy Device for discovery, skip teardown
+--- python-miio-0.5.0.1.orig/miio/vacuum_cli.py
++++ python-miio-0.5.0.1/miio/vacuum_cli.py
+@@ -77,7 +77,7 @@ def cli(ctx, ip: str, token: str, debug:
+ cleanup(vac, id_file=id_file)
+
+
+- at cli.resultcallback()
++ at cli.result_callback()
+ @pass_dev
+ def cleanup(vac: miio.Vacuum, *args, **kwargs):
+ if vac.ip is None: # dummy Device for discovery, skip teardown
--- a/debian/patches/series 1969-12-31 16:00:00.000000000 -0800
--- b/debian/patches/series 2023-01-20 11:05:15.760517986 -0800
@@ -0,0 +1 @@
+result_callback.patch
More information about the Reproducible-bugs
mailing list