diff -u texi2html-1.82+dfsg1/debian/changelog texi2html-1.82+dfsg1/debian/changelog
--- texi2html-1.82+dfsg1/debian/changelog
+++ texi2html-1.82+dfsg1/debian/changelog
@@ -1,3 +1,13 @@
+texi2html (1.82+dfsg1-4) unstable; urgency=medium
+
+ * QA upload.
+ * Make texi2html produce reproducible output (Closes: #783475):
+ - Add patch: 03_add_build-date_param.patch to honour $SOURCE_DATE_EPOCH and
+ command line option --build-date
+ - Add patch: 04_sort-perl-hash to sort hash values
+
+ -- akira Sat, 08 Aug 2015 09:04:44 +0200
+
texi2html (1.82+dfsg1-3) unstable; urgency=low
* QA upload.
diff -u texi2html-1.82+dfsg1/debian/patches/series texi2html-1.82+dfsg1/debian/patches/series
--- texi2html-1.82+dfsg1/debian/patches/series
+++ texi2html-1.82+dfsg1/debian/patches/series
@@ -2,0 +3,2 @@
+03_add_build-date_param.patch
+04_sort-perl-hash
only in patch2:
unchanged:
--- texi2html-1.82+dfsg1.orig/debian/patches/03_add_build-date_param.patch
+++ texi2html-1.82+dfsg1/debian/patches/03_add_build-date_param.patch
@@ -0,0 +1,83 @@
+Description: Add --build-date command line flag.
+ Allow create reproducible documentation passing a unix time in the command
+ line.
+Author: Juan Picca
+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 (defined $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 = $ENV{'SOURCE_DATE_EPOCH'};
++
+ ######################
+ # 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
+
only in patch2:
unchanged:
--- texi2html-1.82+dfsg1.orig/debian/patches/04_sort-perl-hash
+++ texi2html-1.82+dfsg1/debian/patches/04_sort-perl-hash
@@ -0,0 +1,23 @@
+Description: Sort hash values to produce reproducible documentation
+Author: Maria Valentina Marin
+
+--- a/texi2html.pl
++++ b/texi2html.pl
+@@ -6223,7 +6223,7 @@ sub rearrange_elements()
+ }
+
+ # use %sections and %headings to modify also the headings
+- foreach my $section (values(%sections), values(%headings))
++ foreach my $section (sort values(%sections), sort values(%headings))
+ {
+ if ($Texi2HTML::Config::NEW_CROSSREF_STYLE and ($section->{'cross'} =~ /\S/))
+ {
+@@ -6257,7 +6257,7 @@ sub rearrange_elements()
+ }
+
+ # construct human readable tocid
+- foreach my $section (values(%sections))
++ foreach my $section (sort values(%sections))
+ {
+ if ($Texi2HTML::Config::NEW_CROSSREF_STYLE and ($section->{'cross'} =~ /\S/))
+ {