CI: Add recipes to check completeness and reproducibility of dist
archives
#2829
Labels
CI
Entries related to continuous integration infrastructure (historically also recipes like Makefiles)
packaging
portability
We want NUT to build and run everywhere possible
Milestone
Follow-up from #2825/#2828 and thoughts that came along: the
make dist
archives (further verified bymake distcheck
) identify source files to include into the archive by several means, includingEXTRA_DIST
spelled out inMakefile.am
, template transformations inconfigure.ac
, and numerous*_SOURCE
,*_HEADERS
,*_DATA
etc. make variables used in the recipes.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 possibly 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)--with-all
,--with-dev
,--with-docs
and 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
The text was updated successfully, but these errors were encountered: