Source: mumble
Version: 1.5.517-1
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

Hi,

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

This is because it embeds the current build date in an XML file:

│ │ │ │ ├── ./usr/share/metainfo/info.mumble.Mumble.appdata.xml
│ │ │ │ │ @@ -23,13 +23,13 @@
│ │ │ │ │    <screenshots>
│ │ │ │ │      <screenshot type="default">
│ │ │ │ │        <caption>Light and Dark Theme</caption>
│ │ │ │ │        
<image>https://raw.githubusercontent.com/mumble-voip/mumble/master/screenshots/Mumble.png</image>
│ │ │ │ │      </screenshot>
│ │ │ │ │    </screenshots>
│ │ │ │ │    <releases>
│ │ │ │ │ -    <release type="stable" version="1.5.517" date="2024-01-02"/>
│ │ │ │ │ +    <release type="stable" version="1.5.517" date="2024-01-03"/>
│ │ │ │ │    </releases>
│ │ │ │ │    <provides>
│ │ │ │ │      <binary>mumble</binary>
│ │ │ │ │    </provides>
│ │ │ │ │  </component>

Patch attached. CMake is already following the SOURCE_DATE_EPOCH environment
variable if available, but it needs to be instructed to use the UTC timezone.

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
--- a/debian/patches/50-reproducible-build.diff 1970-01-01 01:00:00.000000000 
+0100
--- b/debian/patches/50-reproducible-build.diff 2024-01-08 10:10:33.875933485 
+0000
@@ -0,0 +1,15 @@
+Description: Make the build reproducible
+Author: Chris Lamb <la...@debian.org>
+Last-Update: 2024-01-08
+
+--- mumble-1.5.517.orig/auxiliary_files/CMakeLists.txt
++++ mumble-1.5.517/auxiliary_files/CMakeLists.txt
+@@ -8,7 +8,7 @@ include(pkg-utils)
+ 
+ if(NOT BUILD_RELEASE_DATE)
+       # If BUILD_RELEASE_DATE has not been set, default to time of build
+-      string(TIMESTAMP BUILD_RELEASE_DATE "%Y-%m-%d")
++      string(TIMESTAMP BUILD_RELEASE_DATE "%Y-%m-%d" UTC)
+ endif()
+ 
+ if(overlay)
--- a/debian/patches/series     2024-01-08 09:47:51.592354667 +0000
--- b/debian/patches/series     2024-01-08 10:10:33.095927130 +0000
@@ -3,3 +3,4 @@
 #44-add-speechd-header.diff
 45-add-pid-location-hint.diff
 90-debianize-systemd-unit.diff
+50-reproducible-build.diff

Reply via email to