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 >
