Source: rust-broot
Version: 1.44.2-2
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
rust-broot could not be built reproducibly.

This is because the manual page embeds the current year:

│ │ │ ├── ./usr/share/man/man1/broot.1.gz
│ │ │ │ ├── broot.1
│ │ │ │ │ @@ -1,10 +1,10 @@
│ │ │ │ │  .\" Manpage for broot
│ │ │ │ │  .\" Some items starting with a # are replaced on build
│ │ │ │ │ -.TH broot 1 "2025" "1.44.2" "broot manpage"
│ │ │ │ │ +.TH broot 1 "2024" "1.44.2" "broot manpage"
│ │ │ │ │  .SH NAME
│ │ │ │ │  broot \- Tree view, file manager, configurable launcher
│ │ │ │ │  .SH SYNOPSIS
│ │ │ │ │  .B broot
│ │ │ │ │  [\fIflags\fR]
│ │ │ │ │  [\fIoptions\fR]
│ │ │ │ │  [path]

Patch attached that uses SOURCE_DATE_EPOCH to set the year from the
debian/changelog. Note that we can rely on the $(SOURCE_DATE_EPOCH)
Makefile variable being available due to the use of the default.mk
include.

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


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      [email protected] / chris-lamb.co.uk
       `-
--- a/debian/rules      2024-11-25 14:03:49.099788184 +0000
--- b/debian/rules      2024-11-25 14:21:37.501124190 +0000
@@ -11,7 +11,7 @@
 
 override_dh_auto_install:
        install -D -m 0644 $(CURDIR)/man/page $(CURDIR)/debian/manpages/broot.1
-       sed -i -e "s/#version/$(DEB_VERSION_UPSTREAM)/g" -e "s/#date/$(shell 
date +'%Y')/g" \
+       sed -i -e "s/#version/$(DEB_VERSION_UPSTREAM)/g" -e "s/#date/$(shell 
date --utc --date="@$(SOURCE_DATE_EPOCH)" +'%Y')/g" \
                $(CURDIR)/debian/manpages/broot.1
        dh_auto_install
 

Reply via email to