Subject: Re: bison 2.6.2 contains stale info files
From: Akim Demaille <[email-masked]>
To: Peter Breitenlohner <[email-masked]>
Cc: Bug-gnulib <[email-masked]>, Bison Bugs <[email-masked]>, Karl Berry <[email-masked]>, Automake Bugs <[email-masked]>, Stefano Lattarini <[email-masked]>, Jim Meyering <[email-masked]>
Date: Fri, 31 Aug 2012 19:03:16 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

(Karl and Jim, see below about gendocs, Stefano, see below
about Automake-OG).

Hi Peter, hi friends,

Le 6 août 2012 à 11:37, Peter Breitenlohner a écrit :

> Hi,
> 
> the distributed bison-2.6.2 tarball contains the two stale files
> doc/bison.info-{1,2} from 2.6.1-dirty, and their existence in the source
> tree causes them uselessly to be installed.
> 
> Please remove these two files.
> 
> Regards
> Peter Breitenlohner <[email-masked]>

You are right: the shipped info file is self-contained,
since Bison includes

  AM_MAKEINFOFLAGS = --no-split

since 2003, but there are also trailing split files.

I am using some scripts and Makefile snippets from gnulib
that automate the generation and uploading of the various
forms of the documentation.

The gendocs.sh script does not pass --no-split to makeinfo,
and it is run in the builddir by maint.mk.  As a result,
my builddir contains the split files.

Unfortunately again, Automake does not clean the previous
files when the doc is updated (see below) so I have a
self-contained main info file, and stray split files.
And Automake ships everything blindly.

Amusingly enough the question of "why do split info files
still exist today" was recently posed, and the answer is
"mostly history, useless today".

So, Karl, Jim, and others, would you accept that gendocs.sh
stopped generating a compressed tarball of split info files,
but would rather ship a compressed --no-split file?

Stefano, I think the Texinfo -> makeinfo rules need fixing.
In Bison I have (builddir=$srcdir/_build/debug-48):

am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd ../../../doc && \
rm -rf $backupdir && mkdir $backupdir && \
if (/bin/sh /Users/akim/src/gnu/bison-2.5/build-aux/missing --run makeinfo --version) >/dev/null 2>&1; then \
  for f in ../../../doc/bison.info ../../../doc/bison.info-[0-9] ../../../doc/bison.info-[0-9][0-9] ../../../doc/bison.i[0-9] ../../../doc/bison.i[0-9][0-9]; do \
    if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
  done; \
else :; fi && \

i.e., we "cd ../../../doc" and then the "backup" procedure,
which should also remove previous info files, includes
the ../../../doc bits again…  So of course, the old files
are not moved away.