Peter, Thank you for your suggestion. Though it didn't work immediately, it did help to solve the problem. Switching to $(LN_S) wasn't as simple as I had hoped since I had included the dblocation.texi file in the distribution, and "make dist" will invoke tar with the -h option and dereference the symbolic link. I didn't conclusively prove that this made my problem persist, but certainly removing dblocation.texi from the source distribution seemed to resolve the problem. Though it may mean that it will now be necessary for users to have makeinfo when building and installing even if they didn't modify any of the Texinfo sources.
In case you're interested, I attach the patch I ended up using. Thanks for your help, everybody. James. On Wed, Mar 25, 2015 at 12:47 PM, Peter Breitenlohner <p...@mppmu.mpg.de> wrote: > On Tue, 24 Mar 2015, James Youngman wrote: > >> The timestamps look OK to me: >> >> ... >> >> Perhaps the cause is this rule, though: >> >> dblocation.texi: ../locate/dblocation.texi >> cp ../locate/dblocation.texi $@ >> >> This will clearly update the mtime of dblocation.texi. > > > Hi James, > > indeed. You could use the modified rule > dblocation.texi: ../locate/dblocation.texi > $(LN_S) ../locate/dblocation.texi $@ > where $(LN_S) is 'ln -s' on systems with working symlinks or otherwise one > of 'ln' or 'cp'. I assume your Makefile.in already contains > LN_S = @LN_S@ > otherwise you should add > AC_PROG_LN_S > to your configure.ac. > > I assume 'make distcheck' will never run on systems without working symlinks > so this should be OK. > > Regards > Peter -- -- This email is intended solely for the use of its addressee, sender, and any readers of a mailing list archive in which it happens to appear. If you have received this email in error, please say or type three times, "I believe in the utility of email disclaimers," and then reply to the author correcting any spellings (and, optionally, any incorrect spellings), accompanying these with humorous jests about the author's parentage. If you are not the addressee, you are nevertheless permitted to both copy and forward this email since without such permissions email systems are unable to transmit email to anybody, intended recipient or not. To those still reading by this point, the author would like to apologise for being unable to maintain a consistent level of humour throughout this disclaimer. Contents may settle during transit. Do not feed the animals.
From f59d88e456553dfe0b5185caf75e4041285fd595 Mon Sep 17 00:00:00 2001 From: James Youngman <j...@gnu.org> Date: Sat, 9 May 2015 21:54:10 +0100 Subject: [PATCH] Don't include dblocation.texi from original spot, symlink it. To: findutils-patc...@gnu.org * doc/Makefile.am (dblocation.texi): Create this as a symbolic link. We do this because Automake now invokes texi2dvi in "tidy" mode and hence changes the working directory. That means that relative path includes no longer works in Texinfo files, so we need to avoid doing that. Avoid distributing dblocation.texi (since tar would dereference the symbolic link when making the source archive, since the -h option is passed). * doc/find.texi: Include dblocation.texi instead of ../locate/dblocation.texi. * configure.ac: use AC_PROG_LN_S. * locate/Makefile.am (EXTRA_DIST): Don't distribute dblocation.texi. --- configure.ac | 2 +- doc/Makefile.am | 8 +++++++- doc/find.texi | 2 +- locate/Makefile.am | 4 ++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 7b53a17..498ee0f 100644 --- a/configure.ac +++ b/configure.ac @@ -75,7 +75,7 @@ AC_PROG_CPP dnl for gnulib gl_EARLY - +AC_PROG_LN_S AC_PROG_INSTALL AC_CHECK_TOOLS([AR], [ar]) AC_CHECK_TOOLS([RANLIB], [ranlib], [:]) diff --git a/doc/Makefile.am b/doc/Makefile.am index 56ae953..79f305d 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -2,9 +2,11 @@ AM_CFLAGS = $(WARN_CFLAGS) info_TEXINFOS = find.texi find-maint.texi find_TEXINFOS = perm.texi parse-datetime.texi regexprops.texi fdl.texi +BUILT_SOURCES = dblocation.texi +nodist_find_TEXINFOS = dblocation.texi find_maint_TEXINFOS = fdl.texi MOSTLYCLEANFILES = find.cps -CLEANFILES = find.txt find_mono.html findutils.texi_html_node.tar.gz +CLEANFILES = find.txt find_mono.html findutils.texi_html_node.tar.gz dblocation.texi MAKEINFOTXT = $(MAKEINFO) --plaintext @@ -53,3 +55,7 @@ find_mono.html: find.texi # for "make all" or "make install" (or even "make check"). findutils.texi_html_node.tar.gz: find.html tar zcf $@ $< + + +dblocation.texi: ../locate/dblocation.texi + $(LN_S) ../locate/dblocation.texi $@ diff --git a/doc/find.texi b/doc/find.texi index 7aa20e5..fe0b2ce 100644 --- a/doc/find.texi +++ b/doc/find.texi @@ -7,7 +7,7 @@ @c %**end of header @include version.texi -@include ../locate/dblocation.texi +@include dblocation.texi @iftex @finalout diff --git a/locate/Makefile.am b/locate/Makefile.am index d57b5d8..a8efb79 100644 --- a/locate/Makefile.am +++ b/locate/Makefile.am @@ -13,13 +13,13 @@ libexec_PROGRAMS = frcode code bigram bin_SCRIPTS = updatedb man_MANS = locate.1 updatedb.1 locatedb.5 BUILT_SOURCES = dblocation.texi -EXTRA_DIST = dblocation.texi locatedb.h updatedb.sh $(man_MANS) +EXTRA_DIST = locatedb.h updatedb.sh $(man_MANS) CLEANFILES = updatedb DISTCLEANFILES = dblocation.texi locate_SOURCES = locate.c word_io.c code_SOURCES = code.c word_io.c -locate_TEXINFOS = dblocation.texi +nodist_locate_TEXINFOS = dblocation.texi AM_CPPFLAGS = -I$(top_srcdir)/lib -I../gl/lib -I$(top_srcdir)/gl/lib -I../intl -DLOCATE_DB=\"$(LOCATE_DB)\" -DLOCALEDIR=\"$(localedir)\" -- 2.1.4