automake
[Top][All Lists]
Advanced

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

Re: distcheck does 'chmod a-w' - leads to mkdir "permission denied"


From: Paul Jakma
Subject: Re: distcheck does 'chmod a-w' - leads to mkdir "permission denied"
Date: Fri, 3 Mar 2017 17:09:57 +0000 (GMT)
User-agent: Alpine 2.20 (LFD 67 2015-01-07)

On Fri, 3 Mar 2017, Paul Smith wrote:

Baffling?

Run make (in a remote directory freshly unpacked from your dist file) with the "-d" flag (redirect it due to voluminous output) and it will tell you exactly why it decided to run that recipe.

No doubt it depends on some other file which has an unexpected
timestamp.

Well, it's due to the distributed 'doc/quagga.info' being slightly older than the (built by automake) doc/defines.texi.

Both are made by the 'make dist' and put in the dist tarball. Then distcheck unpacks that to a subdir, makes it RO, and creates another subdir for an out-of-tree build and builds in that. automake then makes a new doc/defines.texi, but the dist source ../../../doc/quagga.info of course is now older, so...

This is from within the out-of-tree builddir that make distcheck is building in, with the unpacked RO dist sources at ../../..

$ ls -l ../../../doc/{quagga.info,defines.texi*}
-r--r--r-- 1 paul paul  503 Mar  3 16:34 ../../../doc/defines.texi
-r--r--r-- 1 paul paul  480 Feb  8 15:19 ../../../doc/defines.texi.in
-r--r--r-- 1 paul paul 9169 Mar  3 16:34 ../../../doc/quagga.info
$ ls -l defines.texi
-rw-rw-r-- 1 paul paul 503 Mar  3 16:44 defines.texi

defines.texi.in is how we get stuff like INSTALL_PREFIX into the TexInfo documentation.

I guess we could find a way to /not/ distribute the built quagga.info, but that would then require people to have texinfo to build the project. Though, there's a risk whatever it is would still try build it as ../../../doc/quagga.info rather than doc/quagga.info.

I'm using fairly standard Automake macros to do this:

# Built from defines.texi.in
BUILT_SOURCES = defines.texi

info_TEXINFOS = quagga.texi

quagga_TEXINFOS =

Looking at the automake documentation I read:

"It is worth noting that, contrary to what happens with the other
 formats, the generated ‘.info’ files are by default placed in ‘srcdir’
 rather than in the ‘builddir’."

Could that be the source of the problem?

It goes on:

 "This can be changed with the ‘info-in-builddir’ option."

And, indeed, when I add "AUTOMAKE_OPTIONS=info-in-builddir" to doc/Makefile.am the above problem disappears!

This seems to be sub-optimal in automake? Any auto-generation of files by automake used for the info documentation results in a broken distcheck?

regards,
--
Paul Jakma | address@hidden | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
                -- Benjamin Franklin, 1759


reply via email to

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