diff options
Diffstat (limited to 'gnu/packages/patches/docbook-utils-source-date-epoch.patch')
-rw-r--r-- | gnu/packages/patches/docbook-utils-source-date-epoch.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/patches/docbook-utils-source-date-epoch.patch b/gnu/packages/patches/docbook-utils-source-date-epoch.patch new file mode 100644 index 0000000000..15c025a726 --- /dev/null +++ b/gnu/packages/patches/docbook-utils-source-date-epoch.patch @@ -0,0 +1,31 @@ +# Source: <https://sources.debian.org/patches/docbook-utils/0.6.14-4/support_source_date_epoch.patch/> + +Author: Reiner Herrmann <reiner@reiner-h.de> +Description: Support SOURCE_DATE_EPOCH for timestamps + To allow generating documents in a reproducible way, + allow overriding the timestamp through the environment. + . + See also: https://reproducible-builds.org/specs/source-date-epoch/ +Bug-Debian: https://bugs.debian.org/800797 + +--- a/helpers/docbook2man-spec.pl ++++ b/helpers/docbook2man-spec.pl +@@ -57,6 +57,7 @@ + use SGMLS; # Use the SGMLS package. + use SGMLS::Output; # Use stack-based output. + use SGMLS::Refs; ++use POSIX qw(strftime setlocale LC_TIME); + + ######################################################################## + # SGMLSPL script produced automatically by the script sgmlspl.pl +@@ -279,6 +280,10 @@ + _END_BANNER + + my $date = `date "+%d %B %Y"`; ++ if ($ENV{SOURCE_DATE_EPOCH}) { ++ setlocale(LC_TIME, "C"); ++ $date = strftime("%d %B %Y", gmtime($ENV{SOURCE_DATE_EPOCH} || time)); ++ } + my $manpage_date = $manpage_date || $date ; + + output '.TH "'; |