Bug#1134552: gunicorn: please make the build reproducible

Chris Lamb lamby at debian.org
Tue Apr 21 18:55:25 BST 2026


Source: gunicorn
Version: 25.3.0-1
Severity: wishlist
Tags: patch
User: reproducible-builds at lists.alioth.debian.org
Usertags: environment buildpath
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org

Hi,

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

This is because the manual page (generated from the output of --help)
includes dynamically-generated default values, some of which are non-
deterministic. For example:

│ │ │ │ │ -Switch worker processes to run as this user. [1111]
│ │ │ │ │ +Switch worker processes to run as this user. [2222]

.. as well as a number that vary on the current build directory (not
currently tested for on tests.reproducible-builds.org...) and the
user's $HOME directory.

Patch attached that disables the inclusion of these default values
when generating this manual page at build time. (The runtime
output and behaviour remains unchanged.)

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-
-------------- next part --------------
--- a/debian/patches/0006-Reproducible-manpage.patch	1969-12-31 16:00:00.000000000 -0800
--- b/debian/patches/0006-Reproducible-manpage.patch	2026-04-21 10:49:45.566248862 -0700
@@ -0,0 +1,15 @@
+Description: Make the build reproducible
+Author: Chris Lamb <lamby at debian.org>
+Last-Update: 2026-04-21
+
+--- gunicorn-25.3.0.orig/gunicorn/config.py
++++ gunicorn-25.3.0/gunicorn/config.py
+@@ -304,6 +304,8 @@ class Setting:
+         args = tuple(self.cli)
+ 
+         help_txt = "%s [%s]" % (self.short, self.default)
++        if "SOURCE_DATE_EPOCH" in os.environ:
++            help_txt = self.short
+         help_txt = help_txt.replace("%", "%%")
+ 
+         kwargs = {
--- a/debian/patches/series	2026-04-21 09:42:55.546888632 -0700
--- b/debian/patches/series	2026-04-21 10:49:44.376696569 -0700
@@ -3,3 +3,4 @@
 0003-Don-t-call-chown-2-if-it-would-be-a-no-op.patch
 0004-Set-supplementary-groups-when-changing-uid.patch
 0005-Remove-remote-badges-to-prevent-privacy-issues.patch
+0006-Reproducible-manpage.patch


More information about the Reproducible-bugs mailing list