Source: lcov Severity: normal Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: timestamps X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
The build timestamp is embedded in various manpages: https://tests.reproducible-builds.org/debian/rb-pkg/bullseye/amd64/diffoscope-results/lcov.html ./usr/share/man/man1/gendesc.1.gz .TH·gendesc·1·"LCOV·1.14"·2021\-06\-13·"User·Manuals" vs. .TH·gendesc·1·"LCOV·1.14"·2022\-07\-16·"User·Manuals" The attached patch fixes this by changing updateversion.pl to use the date specified by the SOURCE_DATE_EPOCH environment variable, which is set by dpkg when building packages: https://reproducible-builds.org/docs/source-date-epoch/ With this patch applied, lcov should be reproducible on tests.reproducible-builds.org. Thanks for maintaining lcov! live well, vagrant
From a19a51175995aee46892da20ee099071a5b459dc Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian <vagr...@reproducible-builds.org> Date: Sun, 11 Jul 2021 00:56:24 +0000 Subject: [PATCH] updateversion.pl: Add support for SOURCE_DATE_EPOCH to update_man_page function. https://reproducible-builds.org/docs/source-date-epoch/ --- bin/updateversion.pl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/updateversion.pl b/bin/updateversion.pl index 19db81e..395b3c4 100755 --- a/bin/updateversion.pl +++ b/bin/updateversion.pl @@ -2,6 +2,7 @@ use strict; use warnings; +use POSIX qw(strftime); use File::Basename; @@ -98,7 +99,9 @@ sub update_man_page($) { my ($filename) = @_; my @date = get_file_info($filename); - my $date_string = $date[0]; + # Support SOURCE_DATE_EPOCH for date: + # https://reproducible-builds.org/docs/source-date-epoch/ + my $date_string = strftime("%Y-%m-%d", gmtime($ENV{SOURCE_DATE_EPOCH} || $date[0])); local *IN; local *OUT; -- 2.32.0
signature.asc
Description: PGP signature