Source: python-pybedtools Version: 0.8.0-5 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: filesystem X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
Hi, Whilst working on the Reproducible Builds effort [0] we noticed that python-pybedtools could not be built reproducibly. This is because it includes output inherited from non-deterministic filesystem ordering: /usr/lib/python3/dist-packages/pybedtools/cbedtools.cpp: │ │ │ │ @@ -16,17 +16,17 @@ │ │ │ │ "z" │ │ │ │ ], │ │ │ │ "name": "pybedtools.cbedtools", │ │ │ │ "sources": [ │ │ │ │ "pybedtools/cbedtools.pyx", │ │ │ │ - "pybedtools/include/fileType.cpp", │ │ │ │ "pybedtools/include/bedFile.cpp", │ │ │ │ - "pybedtools/include/gzstream.cpp" │ │ │ │ + "pybedtools/include/gzstream.cpp", │ │ │ │ + "pybedtools/include/fileType.cpp" │ │ │ │ ] │ │ │ │ }, │ │ │ │ "module_name": "pybedtools.cbedtools" │ │ │ │ } Patch attached that sorts these entries in setup.py. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/patches/reproducible-builds.patch 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/reproducible-builds.patch 2021-09-28 16:37:45.666272543 +0100 @@ -0,0 +1,24 @@ +Description: Make the build reproducible +Author: Chris Lamb <la...@debian.org> +Last-Update: 2021-09-28 + +--- python-pybedtools-0.8.0.orig/setup.py ++++ python-pybedtools-0.8.0/setup.py +@@ -199,7 +199,7 @@ extensions = [ + depends=glob.glob('pybedtools/include/*h'), + libraries=['stdc++', 'z'], + include_dirs=['pybedtools/include/'], +- sources=['pybedtools/cbedtools' + EXT] + glob.glob('pybedtools/include/*.cpp'), ++ sources=['pybedtools/cbedtools' + EXT] + sorted(glob.glob('pybedtools/include/*.cpp')), + language='c++'), + + Extension( +@@ -207,7 +207,7 @@ extensions = [ + depends=glob.glob('pybedtools/include/*h'), + libraries=['stdc++', 'z'], + include_dirs=['pybedtools/include/'], +- sources=['pybedtools/featurefuncs' + EXT] + glob.glob('pybedtools/include/*.cpp'), ++ sources=['pybedtools/featurefuncs' + EXT] + sorted(glob.glob('pybedtools/include/*.cpp')), + language='c++'), + ] + --- a/debian/patches/series 2021-09-28 16:33:12.425681025 +0100 --- b/debian/patches/series 2021-09-28 16:37:44.886270948 +0100 @@ -8,3 +8,4 @@ remove_badges_from_documentation.patch parseDebianVersions.patch add_missing_shebang.patch +reproducible-builds.patch