Red Hat Bugzilla – Bug 244423
Makefile.am must include header files and template scripts
Last modified: 2015-11-13 15:55:23 EST
Description of problem:
The current Makefile.am in ldapserver doesn't include any
header files nor template script files (c.f. *.in), however,
these files must be included in Makefile.am, or 'make dist'
can't create proper distribution tarball correctly.
Version-Release number of selected component (if applicable):
and check the generated tarball.
Steps to Reproduce:
2. make dist
3. check the generated tarball such as fedora-ds-1.1.0a3.tar.gz
different between cvs tree and the contents of its tarball
tarball should consist of all the files required to
I attached the patch to add these files in Makefile.am
, but there're few things of which you have to take care.
I added header files in each <blah>_SOURCES by using
an ad-hoc script to add minimal required header
files to it. The script monitors errors for each
target and add necessary files to it and tries to rebuild
it. So if some file has been already included in tarball,
then the script can't detect nesessary files correctly.
Second problem is that the patch is not up-to-date
but for few days ago because the CVS HEAD is often
changed, but I send this patch to inform you about
this potential problem rather than creating appropriate
patch. This patch do as follows:
* add header files for each <blah>_SOURCES
* add original files for each <blah>_SCRIPTS
* add other files in EXTRA_DIST
I hope this example helps this problem fix.
Created attachment 157123 [details]
patch to add nesessary files to Makefile.am
Thanks. Some of these files have been deprecated, so we'll have to go through
the list. Finally, I thought autotools were supposed to calculate all of these
I guess it's not easy to calculate these dependencies correctly
because automake can't recognize which file is really required
in the tarball. For example, say there are foo.in and foo in the
cvs tree, and foo.in requires too many extra tools to build foo.
In this case, if the tarball includes 'foo', other developer
doesn't need these extra tools to build the software. The same
situation applies to the header files.
As another solution, you can use dist-hook target to install
required files for its distribution.
In addition, it seems the latest automake supports the following
style to include scripts files in the distrubution:
so you can use this variable instead of using EXTRA_DIST.
Fixed by Simo by this commit (and followings):
Author: Simo Sorce <firstname.lastname@example.org>
Date: Tue Sep 15 17:16:05 2015 -0400
Fix Makefile so that make dist works
Signed-off-by: Simo Sorce <email@example.com>
Closing this bug as a dup of 1270020 -- rebase 389-ds-base to 1.3.5 in RHEL-7.3 since there is no need to bug opened for the build issue.
*** This bug has been marked as a duplicate of bug 1270020 ***