GNU bug report logs - #49317
dist: depends on $(BUILT_SOURCES), but has no reason to

Previous Next

Package: automake;

Reported by: Allison Karlitskaya <allison.karlitskaya <at> redhat.com>

Date: Thu, 1 Jul 2021 14:42:01 UTC

Severity: normal

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Allison Karlitskaya <allison.karlitskaya <at> redhat.com>
Subject: bug#49317: closed (Re: bug#49317: dist: depends on
 $(BUILT_SOURCES), but has no reason to)
Date: Fri, 16 Jul 2021 01:38:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#49317: dist: depends on $(BUILT_SOURCES), but has no reason to

which was filed against the automake package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 49317 <at> debbugs.gnu.org.

-- 
49317: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49317
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Karl Berry <karl <at> freefriends.org>
To: allison.karlitskaya <at> redhat.com
Cc: 49317 <at> debbugs.gnu.org
Subject: Re: bug#49317: dist: depends on $(BUILT_SOURCES), but has no reason to
Date: Thu, 15 Jul 2021 19:37:25 -0600
Hi Allison - Jim finished pushing your patch a day or two
ago. Complications in testing. Thanks for the contribution! --karl


[Message part 3 (message/rfc822, inline)]
From: Allison Karlitskaya <allison.karlitskaya <at> redhat.com>
To: bug-automake <at> gnu.org
Subject: dist: depends on $(BUILT_SOURCES), but has no reason to
Date: Thu, 1 Jul 2021 13:52:44 +0200
BUILT_SOURCES solves a useful problem and we use it in our package for
a few things.  Its stated purpose (from the docs) is all about
compilation and dependency tracking.  It makes sense that
$(BUILT_SOURCES) should then be built as a prerequisite before any
targets that result in compilation: all, check, install-exec, ...

`make dist` doesn't compile the program, though: it distributes the
sources.  And usually generated files are not distributed.  If they
were to be disted, they could be listed explicitly for being disted
(for example in a _SOURCES variable or so).  We go out of the way to
put our compiled sources in nodist_ variables, and indeed, they're not
disted.

But because of the above dependency `make dist` still builds them (and
then ignores them).

Of course, there might be a edgecase where the disted tarball should
contain content that is output by a C program which needs to be
compiled and contains, itself, some generated sources.  Indeed, this
change was introduced in 2017, in this commit:

commit ac47c22e3c0c8b055cdd47ccd18621c56f807b37
Author:     Jim Meyering <meyering <at> fb.com>
AuthorDate: Thu Mar 20 12:31:32 2014 -0700
Commit:     Jim Meyering <meyering <at> fb.com>
CommitDate: Tue Nov 28 19:05:59 2017 -0800

    "make dist" did not depend on $(BUILT_SOURCES)

in response to this report:

    https://lists.gnu.org/r/bug-hello/2014-03/msg00016.html

GNU Hello builds its manpage (which it dists) by building and running
the binary and capturing its --help output.

A blanket depend on $(BUILT_SOURCES) for all automake-using projects
seems to be much too large of a hammer to solve that specific problem.

Thanks very much,

Allison Karlitskaya




This bug report was last modified 3 years and 314 days ago.

Previous Next


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