Build distribution tarballs #4010
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds two new make targets,
make distandmake doc-dist.make distbuilds an old-school source tarball from the M2 and M2-emacs git repos, and also includes a few generated autotools files so users can immediately runconfigureafter unpacking without having to autoconf installed, similar to themake disttarget in automake projects. This should be useful for creating deb and rpm packages. (I've been doing something similar on the Debian side for years.)We also provide a backup for dealing with submodules when building from an unpacked tarball rather than a git repo. This will simplify building rpm packages, where we currently have to trick the build system into thinking that there are submodules.
Also, the
make doc-disttarget creates a tarball containing all of the built documentation (html, info, and "dumps" of the gdbm databases). Then, if someone runs./configure --enable-documentation=download, the build system will download this tarball from the webpage, unpack it, and use the prebuilt documentation rather than running all the examples from all the packages. This will cut the M2 build time from hours down to minutes. This should simplify the package installation process for users using "build from source" package managers (spack, gentoo, nix, etc.). See #3905.There is also a GitHub workflow to generate both tarballs.