Bug#1144065: displaycal-py3: please make the build reproducible

Chris Lamb lamby at debian.org
Mon Aug 10 16:05:53 BST 2026


Source: displaycal-py3
Version: 3.9.19-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
displaycal-py3 could not be built reproducibly.

This is because the /usr/share/metainfo/net.displaycal.DisplayCAL.appdata.xml
file contained the current date:

│ │ │ │ │      <id>dispcalGUI.desktop</id>
│ │ │ │ │      <id>displaycal.desktop</id>
│ │ │ │ │    </provides>
│ │ │ │ │    <releases>
│ │ │ │ │ -    <release version="3.9.19" date="2026-08-05">
│ │ │ │ │ +    <release version="3.9.19" date="2027-09-08">

Patch attached that seeds this from SOURCE_DATE_EPOCH, if it exists.

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby at debian.org / chris-lamb.co.uk
       `-
-------------- next part --------------
--- a/debian/patches/02_reproducible-build.patch	1969-12-31 16:00:00.000000000 -0800
--- b/debian/patches/02_reproducible-build.patch	2026-08-10 07:57:50.620349968 -0700
@@ -0,0 +1,15 @@
+Description: Make the build reproducible
+Author: Chris Lamb <lamby at debian.org>
+Last-Update: 2026-08-10
+
+--- displaycal-py3-3.9.19.orig/setup.py
++++ displaycal-py3-3.9.19/setup.py
+@@ -502,7 +502,7 @@ def setup():
+     LONG_DESCRIPTION = fill(LONG_DESCRIPTION)
+ 
+     if not lastmod_time:
+-        lastmod_time = int(time.time())
++        lastmod_time = int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
+ 
+     msiversion = ".".join(
+         (
--- a/debian/patches/series	2026-08-10 07:35:44.543953376 -0700
--- b/debian/patches/series	2026-08-10 07:42:24.205582205 -0700
@@ -1 +1,2 @@
 01_disable-update-check.patch
+02_reproducible-build.patch


More information about the Reproducible-bugs mailing list