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: Nick Bowler
Subject: Re: distcheck does 'chmod a-w' - leads to mkdir "permission denied"
Date: Fri, 3 Mar 2017 13:26:38 -0500

Hello,

On 3/3/17, Paul Jakma <address@hidden> wrote:
> 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...

So the problem seems to be that defines.texi is *also* generated, but by
your normal build process?  configure outputs it?  If the docs depend on
configure output then there is no point in distributing generated docs
at all, since every user will have to regenerate them anyway.

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

Well as you can see, texinfo is already required since the rule to build
documentation is being run in any case.

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

Well yes, but probably not by itself...

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

The builddir is writable so generating docs there will not fail (well,
unless the user doesn't have makeinfo installed).

Personally I prefer to generate files into builddir and distribute from
there (so I like this option), but are other tradeoffs (this way can have
different subtle problems, usually related to unintentionally having
files of the same name in srcdir and builddir).

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

I would expect it to work out of the box provided that your texi files
are not modified by the build system.

Cheers,
  Nick



reply via email to

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