bug-texinfo
[Top][All Lists]
Advanced

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

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


From: Bruno Haible
Subject: texinfo-6.7.90 tarball contains files that "make distclean" erases
Date: Sat, 27 Feb 2021 14:41:57 +0100
User-agent: KMail/5.1.3 (Linux/4.4.0-201-generic; KDE/5.18.0; x86_64; ; )

> 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.

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:

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]