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): How reproducible: ./configure make dist and check the generated tarball. Steps to Reproduce: 1. ./configure 2. make dist 3. check the generated tarball such as fedora-ds-1.1.0a3.tar.gz Actual results: different between cvs tree and the contents of its tarball Expected results: tarball should consist of all the files required to build. Additional info: 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 dependencies automatically?
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: dist_<blah>_SCRIPTS so you can use this variable instead of using EXTRA_DIST.
Upstream ticket: https://fedorahosted.org/389/ticket/132
Fixed by Simo by this commit (and followings): commit 5d98edd35881888a15feefc2b9ba7bbb9230f653 Author: Simo Sorce <simo> Date: Tue Sep 15 17:16:05 2015 -0400 Fix Makefile so that make dist works Signed-off-by: Simo Sorce <simo> 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 ***