Source: displaycal-py3
Version: 3.9.19-1
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: timestamps
X-Debbugs-Cc: [email protected]

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
     `. `'`      [email protected] / chris-lamb.co.uk
       `-
--- 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 <[email protected]>
+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

Reply via email to