bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Make output of texinfo index deterministic


From: Norbert Preining
Subject: Make output of texinfo index deterministic
Date: Mon, 29 Jun 2015 07:36:26 +0900
User-agent: Mutt/1.5.21 (2010-09-15)

Dear all,

down here at Debian there is an activity to create reproducible
buillds, absolutely reproducible. Thus we try to remove
indetermancy as far as possible. In this case, texinfo indices
are not deterministic. I forward you the patch by Chris Lamb (in Cc)
in case you consider it worth including.

>From the original bug report [0]

While working on the "reproducible builds" effort [1], we have noticed
that texinfo generates indices in a non-deterministic order.

This appears to happen because the index sort is not stable with respect
to the line number, resulting in output non-determinstically changing
from:                                                                           
                                                                                
  * Entry   (line 1)                                                            
  * Entry   (line 2)

and

  * Entry   (line 2)
  * Entry   (line 1)

.. when the entry is the same string.

The attached patch adds the line number to the sort comparator. Once
applied, (some) packages using texinfo can be built reproducibly in
our reproducible toolchain.

[0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790065
[1] https://wiki.debian.org/ReproducibleBuilds

Norbert

------------------------------------------------------------------------
PREINING, Norbert                               http://www.preining.info
JAIST, Japan                                 TeX Live & Debian Developer
GPG: 0x860CDC13   fp: F7D8 A928 26E3 16A1 9FA0  ACF0 6CAC A448 860C DC13
------------------------------------------------------------------------

Attachment: texinfo-make-index-deterministic
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]