Bug#1077485: pytest: please make the build reproducible
Chris Lamb
lamby at debian.org
Mon Jul 29 11:07:08 BST 2024
Source: pytest
Version: 8.3.1-1
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org
Hi,
Whilst working on the Reproducible Builds effort [0], we noticed that
pytest could not be built reproducibly.
This is because some tool is appending the current date to the
changelog.html file within the generated documentation:
-<section id="pytest-release-unreleased-draft-2024-07-26">
-<h3>pytest 8.3 [UNRELEASED DRAFT] (2024-07-26)<a class="headerlink" href="#pytest-release-unreleased-draft-2024-07-26" title="Link to this heading">¶</a></h3>
+<section id="pytest-release-unreleased-draft-2025-08-29">
+<h3>pytest 8.3 [UNRELEASED DRAFT] (2025-08-29)<a class="headerlink" href="#pytest-release-unreleased-draft-2025-08-29" title="Link to this heading">¶</a></h3>
<p>No significant changes.</p>
It's not entirely clear which tool is adding this. tag_date=0 is set
in setup.cfg, and I don't immediately see how the
sphinxcontrib-towncrier might be embedding the date either.
Either way, if we force is_release in the Sphinx conf.py, then this
section simply disappears. A patch is attached for this.
[0] https://reproducible-builds.org/
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
-------------- next part --------------
--- a/debian/patches/0003-Reproducible-build.patch 1970-01-01 01:00:00.000000000 +0100
--- b/debian/patches/0003-Reproducible-build.patch 2024-07-29 10:59:41.409019028 +0100
@@ -0,0 +1,15 @@
+Description: Make the build reproducible
+Author: Chris Lamb <lamby at debian.org>
+Last-Update: 2024-07-29
+
+--- pytest-8.3.1.orig/doc/en/conf.py
++++ pytest-8.3.1/doc/en/conf.py
+@@ -254,7 +254,7 @@ issues_github_path = "pytest-dev/pytest"
+ # https://docs.readthedocs.io/en/stable/reference/environment-variables.html#environment-variable-reference
+ # https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#including-content-based-on-tags
+
+-IS_RELEASE_ON_RTD = (
++IS_RELEASE_ON_RTD = True or (
+ os.getenv("READTHEDOCS", "False") == "True"
+ and os.environ["READTHEDOCS_VERSION_TYPE"] == "tag"
+ )
--- a/debian/patches/series 2024-07-29 10:04:04.548711137 +0100
--- b/debian/patches/series 2024-07-29 10:53:17.464500624 +0100
@@ -1,2 +1,3 @@
0001-Use-local-intersphinx-mappings.patch
0002-Disable-Sphinx-extensions.patch
+0003-Reproducible-build.patch
More information about the Reproducible-bugs
mailing list