Source: pylint Version: 1.8.3-1 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 pylint could not be built reproducibly. This is because it iterates over a set in a nondeterminstic order to generate the documentation. Patch attached. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
--- a/debian/patches/doc_makefile_python3.patch 2018-04-02 08:41:51.462802526 +0100 --- b/debian/patches/doc_makefile_python3.patch 2018-04-02 09:37:28.535832165 +0100 @@ -1,5 +1,5 @@ ---- a/doc/Makefile -+++ b/doc/Makefile +--- pylint-1.8.3.orig/doc/Makefile ++++ pylint-1.8.3/doc/Makefile @@ -137,13 +137,13 @@ extensions.rst: ../pylint/utils.py extensions.rst: $(shell find ../pylint/extensions -type f -regex '.*\.py') extensions.rst: $(shell find ../pylint/extensions -type f -regex '.*\.rst') --- a/debian/patches/reproducible_build.patch 1970-01-01 01:00:00.000000000 +0100 --- b/debian/patches/reproducible_build.patch 2018-04-02 09:47:33.782622501 +0100 @@ -0,0 +1,15 @@ +Description: Make the build reproducible +Author: Chris Lamb <la...@debian.org> +Last-Update: 2018-04-02 + +--- pylint-1.8.3.orig/pylint/checkers/base.py ++++ pylint-1.8.3/pylint/checkers/base.py +@@ -1260,7 +1260,7 @@ DEFAULT_NAMING_STYLES = { + + def _create_naming_options(): + name_options = [] +- for name_type in KNOWN_NAME_TYPES: ++ for name_type in sorted(KNOWN_NAME_TYPES): + human_readable_name = HUMAN_READABLE_TYPES[name_type] + default_style = DEFAULT_NAMING_STYLES[name_type] + name_type = name_type.replace('_', '-') --- a/debian/patches/series 2018-04-02 08:41:51.462802526 +0100 --- b/debian/patches/series 2018-04-02 09:47:32.778617925 +0100 @@ -1 +1,2 @@ doc_makefile_python3.patch +reproducible_build.patch