-
-
Notifications
You must be signed in to change notification settings - Fork 413
Description
Follow-up from #2825/#2828 and thoughts that came along: the make dist archives (further verified by make distcheck) identify source files to include into the archive by several means, including EXTRA_DIST spelled out in Makefile.am, template transformations in configure.ac, and numerous *_SOURCE, *_HEADERS, *_DATA etc. make variables used in the recipes and handled by autotools.
In many cases, where optional builds are involved, we go the way of either declaring some files as sources for a program or library (or its certain optional feature), or explicitly EXTRA_DIST'ing them.
If we miss some mark during such manual maintenance, it is potentially possible that a "dist" archive created from a build configuration without some optional build products would not include the sources needed to create those products on a more capable system.
This issue proposes a couple of checks:
configure --without-everything && make distcheck(-light)to produce a dist archive with the minimal effort during theconfigurescript phase - not even checking for tools/deps the build is not planned to use (and so possibly archiving incomplete set of source files), and then try to build everything possible on the current system (to make sure we have the sources for that)- configure and create dist archives under various combinations of
--with-all,--with-dev,--with-docsand specific features (may require dependencies to be installed on the agent doing this), unpack each into a separate directory, and verify that they have same contents.
This may be related to (solution automated along with) issue #1400