Makefile: move build prereqs from install-data to installcheck/bin-tarball (fixes #8971)#8996
Open
ThomsenDrake wants to merge 1 commit intoElementsProject:masterfrom
Open
Conversation
…rball (fixes ElementsProject#8971) install-data should only copy files, not trigger builds. This is important because `make install` is often run with `sudo` which has a different environment (missing Python deps, Rust toolchain, etc). Move doc-all and default-targets build dependencies from install-data to: - installcheck: ensure manpages and Rust plugins exist before staging - bin-tarball: ensure complete tarball with all artifacts `make install` itself remains pure copy, while higher-level targets that expect installable artifacts still trigger the necessary builds. Fixes ElementsProject#8971 Addresses review feedback on ElementsProject#8976
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Replaces #8976 (from deleted account) with the correct approach per maintainer feedback from @vincenzopalazzo.
Problem
make installtriggers builds (doc generation, Rust compilation) becauseinstall-datadepends on manpage and Rust targets. This breaks whenmake installis run withsudo(different environment — missing Python deps, Rust toolchain).Fixes #8971
Changes
Remove build prereqs from
install-data— it now only depends oninstalldirs.make installbecomes a pure copy operation.Add
doc-all default-targetstoinstallcheck— ensures manpages and Rust plugins are built before the install-check test runs on clean trees.Add
doc-all default-targetstobin-tarball— ensures the distribution tarball includes complete artifacts (manpages, Rust plugins).Why this is better than #8976
The previous PR simply dropped the prereqs without moving them, which broke
installcheck,check, andbin-tarballon clean trees. This version moves them to the correct targets that actually need them.Testing
install-datanow has no build dependenciesinstallcheckandbin-tarballretain their required build depsmake installwill only copy already-built artifactscc @vincenzopalazzo — does this address your concerns from #8976?