[Reproducible-builds] Bug#826158: texinfo: please make makeinfo info output reproducible

Alexis Bienvenüe pado at passoire.fr
Thu Jun 2 19:43:35 UTC 2016

Source: texinfo
Version: 6.1.0.dfsg.1-8
Severity: wishlist
Tags: upstream
User: reproducible-builds at lists.alioth.debian.org
Usertags: toolchain
X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org

Dear Maintainer,

Thanks to the SOURCE_DATE_EPOCH [1] support in TL2016, pdf output of
makeinfo can be made reproducible, even when using @today in the texi
file (when SOURCE_DATE_EPOCH_TEX_PRIMITIVES is set to 1).

It would be great to extend the SOURCE_DATE_EPOCH support for info
output from makeinfo. See a proposed solution in the attached patch.

Alexis Bienvenüe.

[1] https://reproducible-builds.org/specs/source-date-epoch/
-------------- next part --------------
Description: Reproducible info output
 Honour the SOURCE_DATE_EPOCH environment variable to get a reproducible
 @today value for info output when it is set.
 See https://reproducible-builds.org/specs/source-date-epoch/
Author: Alexis Bienvenüe <pado at passoire.fr>

--- texinfo-6.1.0.dfsg.1.orig/tp/Texinfo/Common.pm
+++ texinfo-6.1.0.dfsg.1/tp/Texinfo/Common.pm
@@ -1218,7 +1218,7 @@ sub expand_today($)
     return {'text' => 'a sunny day'};
   my($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)
-   = localtime(time);
+   = ($ENV{SOURCE_DATE_EPOCH} ? gmtime($ENV{SOURCE_DATE_EPOCH}) : localtime(time));
   $year += ($year < 70) ? 2000 : 1900;
   return $self->gdt('{month} {day}, {year}',
           { 'month' => $self->gdt($MONTH_NAMES[$mon]),

More information about the Reproducible-builds mailing list