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

Hi,

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

This is due to the generated documentation non-deterministically
orders the skip_attrs set.

Patch attached.

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
--- a/amqp/five.py      2017-10-15 20:30:33.599193127 -0400
--- b/amqp/five.py      2017-10-15 20:33:07.841817590 -0400
@@ -116,7 +116,7 @@
     BytesIO = WhateverIO = StringIO         # noqa
 
 
-def with_metaclass(Type, skip_attrs=set(['__dict__', '__weakref__'])):
+def with_metaclass(Type, skip_attrs=None):
     """Class decorator to set metaclass.
 
     Works with both Python 3 and Python 3 and it does not add
@@ -125,6 +125,9 @@
 
     """
 
+    if skip_attrs is None:
+        skip_attrs = set(['__dict__', '__weakref__'])
+
     def _clone_with_metaclass(Class):
         attrs = dict((key, value) for key, value in items(vars(Class))
                      if key not in skip_attrs)

Reply via email to