GNU bug report logs - #9506
makeinfo in VPATH builds fails

Previous Next

Package: automake;

Reported by: Sebastian Freundt <devel <at> fresse.org>

Date: Wed, 14 Sep 2011 16:20:01 UTC

Severity: normal

Tags: wontfix

Found in version 1.11a

Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 9506 in the body.
You can then email your comments to 9506 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-automake <at> gnu.org:
bug#9506; Package automake. (Wed, 14 Sep 2011 16:20:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sebastian Freundt <devel <at> fresse.org>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Wed, 14 Sep 2011 16:20:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Sebastian Freundt <devel <at> fresse.org>
To: submit <at> debbugs.gnu.org
Subject: makeinfo in VPATH builds fails
Date: Wed, 14 Sep 2011 14:58:28 +0000
Package: automake
Version: 1.11a

VPATH build of a project using makeinfo fails if $(srcdir) isn't writable.


freundt <at> plutos:~/devel_freundt/datetools/=build> make
/home/freundt/devel/datetools/git-version-gen .version >/dev/null
make  all-recursive
make[1]: Entering directory `/home/guest/devel_freundt/datetools/=build'
Making all in info
make[2]: Entering directory `/home/guest/devel_freundt/datetools/=build/info'
restore=: && backupdir=".am$$" && \
am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd /home/freundt/devel/datetools/info && \
rm -rf $backupdir && mkdir $backupdir && \
if (/bin/sh /home/freundt/devel/datetools/missing --run makeinfo --version) >/dev/null 2>&1; then \
  for f in /home/freundt/devel/datetools/info/datetools.info /home/freundt/devel/datetools/info/datetools.info-[0-9] /home/freundt/devel/datetools/info/datetools.info-[0-9][0-9] /home/freundt/devel/datetools/info/datetools.i[0-9] /home/freundt/devel/datetools/info/datetools.i[0-9][0-9]; do \
    if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
  done; \
else :; fi && \
cd "$am__cwd"; \
if /bin/sh /home/freundt/devel/datetools/missing --run makeinfo   -I /home/freundt/devel/datetools/info \
 -o /home/freundt/devel/datetools/info/datetools.info /home/freundt/devel/datetools/info/datetools.texi; \
then \
  rc=0; \
  CDPATH="${ZSH_VERSION+.}:" && cd /home/freundt/devel/datetools/info; \
else \
  rc=$?; \
  CDPATH="${ZSH_VERSION+.}:" && cd /home/freundt/devel/datetools/info && \
  $restore $backupdir/* `echo ".//home/freundt/devel/datetools/info/datetools.info" | sed 's|[^/]*$||'`; \
fi; \
rm -rf $backupdir; exit $rc
mkdir: cannot create directory `.am20510': Permission denied
/home/freundt/devel/datetools/info/datetools.info: Permission denied
make[2]: *** [/home/freundt/devel/datetools/info/datetools.info] Error 1
make[2]: Leaving directory `/home/guest/devel_freundt/datetools/=build/info'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/guest/devel_freundt/datetools/=build'
make: *** [all] Error 2


Expected behaviour:
freundt <at> plutos:~/devel_freundt/datetools/=build> cd info
freundt <at> plutos:~/devel_freundt/datetools/=build/info> makeinfo /home/freundt/devel/datetools/info/datetools.texi
freundt <at> plutos:~/devel_freundt/datetools/=build/info> ls
datetools.info  Makefile


Cheers
Sebastian





Information forwarded to owner <at> debbugs.gnu.org, bug-automake <at> gnu.org:
bug#9506; Package automake. (Thu, 15 Sep 2011 09:48:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: bug-automake <at> gnu.org
Cc: 9506 <at> debbugs.gnu.org, Sebastian Freundt <devel <at> fresse.org>
Subject: Re: bug#9506: makeinfo in VPATH builds fails
Date: Thu, 15 Sep 2011 11:42:26 +0200
[Message part 1 (text/plain, inline)]
tags 9506 wontfix
close 9506
thanks

Hi Sebastian, thanks for the bug report.

On Wednesday 14 September 2011, Sebastian Freundt wrote:
> Package: automake
> Version: 1.11a
> 
> VPATH build of a project using makeinfo fails if $(srcdir) isn't writable.
>
Yes, this is a consequence of the fact that `.info' files are "preferably"
generated in the srcdir; the comments in automake explain in great detail
why and how this is done:

  # Until Automake 1.6.3, .info files were built in the source tree.
  # This was an obstacle to the support of non-distributed `.info'
  # files, and non-distributed `.texi' files
  #
  # [SNIP]
  #
  # Back to the point, it should be clear that in order to support
  # non-distributed .info files, we need to build them in the build
  # tree, not in the source tree.  In Automake 1.7 .info build rules
  # have been largely cleaned up so that .info files get always build
  # in the build tree, even when distributed.  The idea was that
  #   (1) if during a VPATH build the .info file was found to be
  #       absent or out-of-date (in the source tree or in the
  #       build tree), Make would rebuild it in the build tree.
  #       If an up-to-date source-tree of the .info file existed,
  #       make would not rebuild it in the build tree.
  #   (2) having two copies of .info files, one in the source tree
  #       and one (newer) in the build tree is not a problem because
  #       `make dist' always pick files in the build tree first.
  #
  # However it turned out the be a bad idea for several reasons:
  #   * Tru64, OpenBSD, and FreeBSD (not NetBSD) Make do not behave
  #     like GNU Make on point (1) above.  These implementations
  #     of Make would always rebuild .info files in the build
  #     tree, even if such files were up to date in the source
  #     tree.  Consequently, it was impossible to perform a VPATH
  #     build of a package containing Texinfo files using these
  #     Make implementations.
  #     (Refer to the Autoconf Manual, section "Limitation of
  #     Make", paragraph "VPATH", item "target lookup", for an
  #     account of the differences between these implementations.)
  #   * The GNU Coding Standards require these files to be built
  #     in the source-tree (when they are distributed, that is).
  #   * Keeping a fresher copy of distributed files in the
  #     build tree can be annoying during development because
  #     - if the files is kept under CVS, you really want it to be
  #       updated in the source tree
  #     - it is confusing that `make distclean' does not erase all
  #       files in the build tree.
  #
  # Consequently, starting with Automake 1.8, .info files are
  # built in the source tree again.  Because we still plan to
  # support non-distributed .info files at some point, we
  # have a single variable ($INSRC) that controls whether
  # the current .info file must be built in the source tree
  # or in the build tree.  Actually this variable is switched
  # off for .info files that appear to be cleaned; this is
  # for backward compatibility with package such as Texinfo ...
  #
  # [SNIP]

The main point is that if you're distributing you `.info' files, you should
ensure that they are *not* rebuilt when building from a distribution tarball
(as that would wreak havoce with at least FreeBSD make).  OTOH, if you *want*
them to be rebuilt, you should *not* distribute them, and *also* add them to
CLEANFILES; in this case automake will build them in the buiilddir (if it
doesn't, than that's a bug we should fix ASAP).

I've marked this bug closed as "wontfix", but feel free to continue the
discussion here if you have further doubts to clarify or ideas to contribute.

Regards,
  Stefano
[Message part 2 (text/html, inline)]

Information forwarded to owner <at> debbugs.gnu.org, bug-automake <at> gnu.org:
bug#9506; Package automake. (Thu, 15 Sep 2011 09:48:01 GMT) Full text and rfc822 format available.

Added tag(s) wontfix. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 15 Sep 2011 09:48:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 9506 <at> debbugs.gnu.org and Sebastian Freundt <devel <at> fresse.org> Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 15 Sep 2011 09:48:02 GMT) Full text and rfc822 format available.

Information forwarded to owner <at> debbugs.gnu.org, bug-automake <at> gnu.org:
bug#9506; Package automake. (Thu, 15 Sep 2011 11:15:02 GMT) Full text and rfc822 format available.

Message #18 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Sebastian Freundt <devel <at> fresse.org>
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Cc: bug-automake <at> gnu.org, 9506 <at> debbugs.gnu.org
Subject: Re: bug#9506: makeinfo in VPATH builds fails
Date: Thu, 15 Sep 2011 11:09:37 +0000
Stefano Lattarini <stefano.lattarini <at> gmail.com> writes:

> tags 9506 wontfix
> close 9506
> thanks
>
> Hi Sebastian, thanks for the bug report.
>
> On Wednesday 14 September 2011, Sebastian Freundt wrote:
>> Package: automake
>> Version: 1.11a
>> 
>> VPATH build of a project using makeinfo fails if $(srcdir) isn't writable.
>>
> Yes, this is a consequence of the fact that `.info' files are "preferably"
> generated in the srcdir; the comments in automake explain in great detail
> why and how this is done:
>
>   # Until Automake 1.6.3, .info files were built in the source tree.
>   # This was an obstacle to the support of non-distributed `.info'
>   # files, and non-distributed `.texi' files
>   #
>   # [SNIP]
>   #
>   # Back to the point, it should be clear that in order to support
>   # non-distributed .info files, we need to build them in the build
>   # tree, not in the source tree.  In Automake 1.7 .info build rules
>   # have been largely cleaned up so that .info files get always build
>   # in the build tree, even when distributed.  The idea was that
>   #   (1) if during a VPATH build the .info file was found to be
>   #       absent or out-of-date (in the source tree or in the
>   #       build tree), Make would rebuild it in the build tree.
>   #       If an up-to-date source-tree of the .info file existed,
>   #       make would not rebuild it in the build tree.
>   #   (2) having two copies of .info files, one in the source tree
>   #       and one (newer) in the build tree is not a problem because
>   #       `make dist' always pick files in the build tree first.
>   #
>   # However it turned out the be a bad idea for several reasons:
>   #   * Tru64, OpenBSD, and FreeBSD (not NetBSD) Make do not behave
>   #     like GNU Make on point (1) above.  These implementations
>   #     of Make would always rebuild .info files in the build
>   #     tree, even if such files were up to date in the source
>   #     tree.  Consequently, it was impossible to perform a VPATH
>   #     build of a package containing Texinfo files using these
>   #     Make implementations.
>   #     (Refer to the Autoconf Manual, section "Limitation of
>   #     Make", paragraph "VPATH", item "target lookup", for an
>   #     account of the differences between these implementations.)
>   #   * The GNU Coding Standards require these files to be built
>   #     in the source-tree (when they are distributed, that is).
>   #   * Keeping a fresher copy of distributed files in the
>   #     build tree can be annoying during development because
>   #     - if the files is kept under CVS, you really want it to be
>   #       updated in the source tree
>   #     - it is confusing that `make distclean' does not erase all
>   #       files in the build tree.
>   #
>   # Consequently, starting with Automake 1.8, .info files are
>   # built in the source tree again.  Because we still plan to
>   # support non-distributed .info files at some point, we
>   # have a single variable ($INSRC) that controls whether
>   # the current .info file must be built in the source tree
>   # or in the build tree.  Actually this variable is switched
>   # off for .info files that appear to be cleaned; this is
>   # for backward compatibility with package such as Texinfo ...
>   #
>   # [SNIP]
>
> The main point is that if you're distributing you `.info' files, you should
> ensure that they are *not* rebuilt when building from a distribution tarball
> (as that would wreak havoce with at least FreeBSD make).  OTOH, if you *want*
> them to be rebuilt, you should *not* distribute them, and *also* add them to
> CLEANFILES; in this case automake will build them in the buiilddir (if it
> doesn't, than that's a bug we should fix ASAP).
>
> I've marked this bug closed as "wontfix", but feel free to continue the
> discussion here if you have further doubts to clarify or ideas to contribute.


Hi Stefano,
I've followed your suggestions, and prefixed the TEXINFOS with `nodist_'
and added them to CLEANFILES, however the .info file is now neither built
nor installed (even upon make install-info).

In my case the .info files should be rebuilt and not distributed as they
contain partially auto-generated content.

Another bug report?

Cheers
Sebastian






Information forwarded to owner <at> debbugs.gnu.org, bug-automake <at> gnu.org:
bug#9506; Package automake. (Thu, 15 Sep 2011 11:15:03 GMT) Full text and rfc822 format available.

Information forwarded to owner <at> debbugs.gnu.org, bug-automake <at> gnu.org:
bug#9506; Package automake. (Thu, 15 Sep 2011 11:40:04 GMT) Full text and rfc822 format available.

Message #24 received at 9506 <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Sebastian Freundt <devel <at> fresse.org>,
 9506 <at> debbugs.gnu.org
Cc: bug-automake <at> gnu.org, 7657 <at> debbugs.gnu.org
Subject: TEXINFOS primary and nodist_ (was: Re: makeinfo in VPATH builds fails)
Date: Thu, 15 Sep 2011 13:34:23 +0200
[Message part 1 (text/plain, inline)]
Submitter: Sebastian Freundt <devel <at> fresse.org>
thanks

Reference:
 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9506>

On Thursday 15 September 2011, Sebastian Freundt wrote:
> Stefano Lattarini <stefano.lattarini <at> gmail.com> writes:
>
> > The main point is that if you're distributing you `.info' files, you should
> > ensure that they are *not* rebuilt when building from a distribution tarball
> > (as that would wreak havoce with at least FreeBSD make).  OTOH, if you *want*
> > them to be rebuilt, you should *not* distribute them, and *also* add them to
> > CLEANFILES; in this case automake will build them in the buiilddir (if it
> > doesn't, than that's a bug we should fix ASAP).
> >
> > I've marked this bug closed as "wontfix", but feel free to continue the
> > discussion here if you have further doubts to clarify or ideas to contribute.
> 
> 
> Hi Stefano,
>
> I've followed your suggestions, and prefixed the TEXINFOS with `nodist_'
> and added them to CLEANFILES, however the .info file is now neither built
> nor installed (even upon make install-info).
>
Hmpf, yes, this is another limitation/incompatibility of the TEXINFOS
primary; the only ways TEXINFOS can by used are:

  # Will cause generation of foo.info, foo.pdf, etc.
  info_TEXINFOS = foo.texi
  # Will declare that these files ae required when building `foo.texi'
  foo_TEXINFOS = bar.texi baz.texi

So, when automake sees nodist_TEXINFOS, it thinks that it just lists extra
`.texi' files required by `nodist.texi' ... And it doesn't even warn that
`nodist.texi' is not really used anywhere!

There is already a bug report about this situation:
 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7657>
but I had forgotten about it.  Thanks for reminding me!

> 
> In my case the .info files should be rebuilt and not distributed as they
> contain partially auto-generated content.
>
OK.  Maybe you might use a dist-hook to remove the `.info' files not
intended for distribution from the distdir, just before the distribution
tarball is created.  See:
 <http://www.gnu.org/software/automake/manual/html_node/The-dist-Hook.html>

> Another bug report?
>
Good idea.  I've already opened it (hopefully in your name, otherwise I'll
fix that later).
 
> Cheers
> Sebastian
> 

Thanks,
  Stefano
[Message part 2 (text/html, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 14 Oct 2011 11:24:02 GMT) Full text and rfc822 format available.

This bug report was last modified 13 years and 304 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.