File support_source_date_epoch.patch of Package docbook-utils

Author: Reiner Herrmann <[email protected]>
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

Index: docbook-utils-0.6.14/helpers/docbook2man-spec.pl
===================================================================
--- docbook-utils-0.6.14.orig/helpers/docbook2man-spec.pl
+++ docbook-utils-0.6.14/helpers/docbook2man-spec.pl
@@ -57,6 +57,7 @@ Software Foundation, 675 Mass Ave, Cambr
 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,11 @@ sgml('</REFMETA>', sub {
 _END_BANNER
 
 	my $manpage_date = `date "+%d %B %Y"`;
+	if ($ENV{SOURCE_DATE_EPOCH}) {
+		setlocale(LC_TIME, "C");
+		$manpage_date = strftime("%d %B %Y", gmtime($ENV{SOURCE_DATE_EPOCH} || time));
+	}
+
 		
 	output '.TH "';
 	
@@ -292,7 +298,7 @@ _END_BANNER
 	}
 	
 	output  '" "', fold_string($manpage_sect), 
-		'" "', fold_string(`date "+%d %B %Y"`), 
+		'" "', fold_string($manpage_date), 
 		'" "', $manpage_misc, 
 		'" "', $manpage_manual, 
 		"\"\n";
openSUSE Build Service is sponsored by
OSZAR »