Source: dub
Version: 1.36.0-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
dub could not be built reproducibly.

This is because the build system embeds timestamps in its man pages:

├── ./usr/share/man/man1/dub-add-local.1.gz
│ ├── dub-add-local.1
│ │ @@ -1,8 +1,8 @@
│ │ -.TH DUB-ADD-LOCAL 1 "2025-05-24" "The D Language Foundation" "The D 
Language Foundation"
│ │ +.TH DUB-ADD-LOCAL 1 "2024-04-21" "The D Language Foundation" "The D 
Language Foundation"

(etc.)

A patch is attached that simply exports dub's custom DIFFABLE
environment variable. This was seemingly introduced to make these
manpages, well, 'diffable' — that is to say, so that they generated in
a deterministic manner.

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
--- a/debian/rules      2024-04-22 10:34:28.039060412 +0100
--- b/debian/rules      2024-04-22 10:48:00.675980092 +0100
@@ -6,7 +6,7 @@
 DEB_VERSION := $(shell dpkg-parsechangelog | awk '/^Version: / { print $$2 }')
 
 export GITVER=$(DEB_VERSION)
-
+export DIFFABLE=1
 export DFLAGS=-frelease -fall-instantiations
 
 %:

Reply via email to