Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: Add recipes to check completeness and reproducibility of dist archives #2829

Open
jimklimov opened this issue Mar 2, 2025 · 0 comments
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

Comments

@jimklimov
Copy link
Member

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.

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)
  • configure and create dist archives under various combinations of --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

@jimklimov jimklimov added CI Entries related to continuous integration infrastructure (historically also recipes like Makefiles) packaging portability We want NUT to build and run everywhere possible labels Mar 2, 2025
@jimklimov jimklimov added this to the 2.8.4 milestone Mar 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Entries related to continuous integration infrastructure (historically also recipes like Makefiles) packaging portability We want NUT to build and run everywhere possible
Projects
None yet
Development

No branches or pull requests

1 participant