Re: [PATCH, doc]: Rename Index node to prevent file collision

Michael Hope
2012-06-14T22:27:43Z

On 15 June 2012 10:00, Joel Brobecker <brobecker@adacore.com> wrote:
>> Yip.  We supply pre-built toolchains for Linux and Windows[1].  The
>> build is crtosstool-NG based, runs on Ubuntu Lucid, and uses the LSB
>> compilers for Linux and the mingw cross compilers for Windows.  We
>> cross-make the manuals the same as we cross-build the compiler.
>
> I think we do something similar as well. I do not think that this is
> an uncommon situation when someone works with GNU software on multiple
> platforms.
>
>> The makeinfo manual says: """If makeinfo is run on a system which does
>> not distinguish case in filenames, nodes which are the same except for
>> case will also be folded into the same output file.""".  I don't think
>> that's valid here as the index is a special case: we shouldn't merge
>> the top level index.html with the output of a node called Index.
>
> I haven't checked, but is there a command-line option to force
> that behavior?

Not in makeinfo 4.13b. There's been discussion upstream before about
this with no conclusion:
http://lists.gnu.org/archive/html/bug-texinfo/2008-12/msg00012.html
http://lists.gnu.org/archive/html/bug-texinfo/2010-11/msg00033.html

and on this list:
http://sourceware.org/ml/gdb-patches/2010-11/msg00431.html
http://sourceware.org/ml/gdb-patches/2009-01/msg00298.html

nodename_to_filename_1() special cases the node 'Top' and rewrites it
to 'index.html'. Perhaps it should special case if the node is called
'Index'?

Eli, if that sounds OK to you then I'll propose a patch to bug-texinfo
and get it into Ubuntu. texinfo seems to be dormant so it may be some
time before the patch appears in a release.

> And I am also wondering why they wouldn't just
> always make sure that the names are always different, irrespective
> of casing...

Agreed. Host independent files like a manual shouldn't change based
on build or host.

-- Michael