Bug#783475: texi2html: [PATCH] Allow make the build of documentation reproducible adding the use-date flag.
Package: texi2html
Version: 1.82+dfsg1-3
Followup-For: Bug #783475
Modified patch after comments and advices of Jérémy Bobbio.
The option was renamed to --build-date and now expects an unix time
integer which is formatted using pretty_time instead of using a given
string to show as timestamp.
-- System Information:
Debian Release: stretch/sid
APT prefers testing-updates
APT policy: (500, 'testing-updates'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Description: Add --build-date command line flag.
Allow create reproducible documentation passing a unix time in the command
line.
Author: Juan Picca <jumapico@gmail.com>
Last-Update: 2015-05-16
--- a/T2h_i18n.pm
+++ b/T2h_i18n.pm
@@ -295,7 +295,14 @@ sub pretty_date($)
my $lang = shift;
my($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst);
- ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
+ if ($Texi2HTML::Config::BUILD_DATE)
+ {
+ ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime($Texi2HTML::Config::BUILD_DATE);
+ }
+ else
+ {
+ ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
+ }
$year += ($year < 70) ? 2000 : 1900;
# obachman: Let's do it as the Americans do
#return($MONTH_NAMES->{$lang}[$mon] . ", " . $mday . " " . $year);
--- a/texi2html.init
+++ b/texi2html.init
@@ -260,6 +260,10 @@ $MONOLITHIC = 1;
# the specified url are used as stylesheet links
@CSS_REFS = ();
+# -build-date
+# Use the given unix time as build date showing UTC timezone when it is used
+$BUILD_DATE = undef;
+
######################
# The following options are only relevant if $L2H is set
#
--- a/texi2html.pl
+++ b/texi2html.pl
@@ -261,6 +261,7 @@ $EXTERNAL_DIR
$IGNORE_PREAMBLE_TEXT
@CSS_FILES
@CSS_REFS
+$BUILD_DATE
$INLINE_CONTENTS
$INLINE_INSERTCOPYING
);
@@ -2600,6 +2601,13 @@ $T2H_OPTIONS -> {'css-ref'} =
verbose => 'generate reference to the CSS URL $s'
};
+$T2H_OPTIONS -> {'build-date'} =
+{
+ type => '=i',
+ linkage => \$Texi2HTML::Config::BUILD_DATE,
+ verbose => 'use the given unix time as build date showing UTC timezone when it is used'
+};
+
$T2H_OPTIONS -> {'transliterate-file-names'} =
{
type => '!',
--- a/doc/texi2html.texi
+++ b/doc/texi2html.texi
@@ -523,6 +523,8 @@ Display a short help and exit.
Be verbose.
@item @longopt{version}
Display version information and exit.
+@item @longopt{build-date=@var{unixtime}}
+Use the given unix time as build date showing UTC timezone when it is used.
@end table
@c --------------------------------------------------------
--- a/doc/texi2html.info
+++ b/doc/texi2html.info
@@ -435,6 +435,9 @@ Miscellaneous general options:
`--version'
Display version information and exit.
+`--build-date=UNIXTIME'
+ Use the given unix time as build date showing UTC timezone when it is used.
+
File: texi2html.info, Node: Splitting output, Next: Output files, Prev: General options, Up: Invoking texi2html
Reply to: