[Top][All Lists]

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

Re: texinfo-6.7.90 tarball contains files that "make distclean" erases

From: Gavin Smith
Subject: Re: texinfo-6.7.90 tarball contains files that "make distclean" erases
Date: Sat, 27 Feb 2021 21:46:20 +0000
User-agent: Mutt/1.9.4 (2018-02-28)

On Sat, Feb 27, 2021 at 02:41:57PM +0100, Bruno Haible wrote:
> > So, the cause is that an autogenerated and platform-dependent 'texindex'
> > script was included in the tarball. Removing it from the tarball will fix
> > the issue.
> Another way to find this problem is: After unpacking the tarball,
>   $ ./configure && make && make distclean
> should leave the same tarball contents on disk (with possibly some
> empty directories added).
> In fact what I see is:
> $ LC_ALL=C diff -r -q texinfo-6.7.90.orig texinfo-6.7.90 \
>   | sed -e 's|: |/|' \
>   | grep -v '/\.deps$'
> Only in texinfo-6.7.90/gnulib/lib/sys
> Only in texinfo-6.7.90.orig/texindex/texindex
> Only in texinfo-6.7.90.orig/tp/Texinfo/XS/MiscXS.c
> Only in texinfo-6.7.90.orig/tp/Texinfo/XS/TestXS.c
> Only in texinfo-6.7.90.orig/tp/Texinfo/XS/XSParagraph.c
> Only in texinfo-6.7.90/tp/Texinfo/XS/gnulib/lib/sys
> So, not only the 'texindex' script was included in the tarball.

Thanks for the useful information and detailed advice.  Evidently
"make distcheck" doesn't check for incorrectly cleaned files.

> Also the files MiscXS.c, TestXS.c, XSParagraph.c were included in the
> tarball, although "make clean" or "make distclean" deletes them. There
> are two possible ways to fix this:

I think option B below would be the safer one.  We check for xsubpp with
AM_MISSING_PROG so don't currently require it to be available.

> A) Either you consider 'xsubpp' to be a program that can be assumed
>    to be present on the target platform. Then there is no need to
>    distribute MiscXS.c, TestXS.c, XSParagraph.c in the tarball.
>    The Makefile.am should be changed to not distribute these three
>    files. Cf.
> https://www.gnu.org/software/automake/manual/html_node/Fine_002dgrained-Distribution-Control.html
> B) Or you consider that 'xsubpp' is not portable enough. Then you
>    need to create the three files before doing the tarball, and
>    include them in the tarball. Additionally, remove these three
>    files from the CLEANFILES variable. And, per GNU Coding Standards
>    <https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html>
>    the three files need to be generated in $(srcdir), not in $(builddir).
>    So modify the .xs.c rule
>      $(XSUBPP) $(XSUBPPARGS) $< > $*.xsc && mv $*.xsc $*.c
>    ->
>      $(XSUBPP) $(XSUBPPARGS) $< > $*.xsc && mv $*.xsc $(srcdir)/$*.c
> Bruno

reply via email to

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