Source: python-watcherclient
Version: 3.0.0-2
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

Hi,

Whilst working on the Reproducible Builds effort [0] we noticed that
python-watcherclient could not be built reproducibly.

This is because the documentation generates automatic documentation for the 
"main()" entrypoint method's arguments, one of which is "sys.argv". During 
document generation this results in documentation examples like:

   def main(argv=['-b', 'html', 'doc/source', 
'«ABSOLUTE_BUILD_DIR»/debian/python-watcherclient-doc/usr/share/doc/python-watcherclient-doc/html']):

… etc. Patch attached that sets "None" instead but retains the existing
fallback logic.

 [0] https://reproducible-builds.org/


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
--- a/debian/patches/reproducible-build.patch   1970-01-01 01:00:00.000000000 
+0100
--- b/debian/patches/reproducible-build.patch   2020-05-14 15:19:04.164095091 
+0100
@@ -0,0 +1,17 @@
+Description: Make the build reproducible
+Author: Chris Lamb <la...@debian.org>
+Last-Update: 2020-05-14
+
+--- python-watcherclient-3.0.0.orig/watcherclient/shell.py
++++ python-watcherclient-3.0.0/watcherclient/shell.py
+@@ -203,7 +203,9 @@ class WatcherShell(app.App):
+             LOG.info("END return value: %s", ret_val)
+ 
+ 
+-def main(argv=sys.argv[1:]):
++def main(argv=None):
++    if argv is None:
++        argv = sys.argv[1:]
+     watcher_app = WatcherShell()
+     return watcher_app.run(argv)
+ 
--- a/debian/patches/series     1970-01-01 01:00:00.000000000 +0100
--- b/debian/patches/series     2020-05-14 15:19:03.204087033 +0100
@@ -0,0 +1 @@
+reproducible-build.patch

Reply via email to