Skip to content

Makefile: move build prereqs from install-data to installcheck/bin-tarball (fixes #8971)#8996

Open
ThomsenDrake wants to merge 1 commit intoElementsProject:masterfrom
ThomsenDrake:fix/makefile-install-prerequisites
Open

Makefile: move build prereqs from install-data to installcheck/bin-tarball (fixes #8971)#8996
ThomsenDrake wants to merge 1 commit intoElementsProject:masterfrom
ThomsenDrake:fix/makefile-install-prerequisites

Conversation

@ThomsenDrake
Copy link
Copy Markdown

Summary

Replaces #8976 (from deleted account) with the correct approach per maintainer feedback from @vincenzopalazzo.

Problem

make install triggers builds (doc generation, Rust compilation) because install-data depends on manpage and Rust targets. This breaks when make install is run with sudo (different environment — missing Python deps, Rust toolchain).

Fixes #8971

Changes

  1. Remove build prereqs from install-data — it now only depends on installdirs. make install becomes a pure copy operation.

  2. Add doc-all default-targets to installcheck — ensures manpages and Rust plugins are built before the install-check test runs on clean trees.

  3. Add doc-all default-targets to bin-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, and bin-tarball on clean trees. This version moves them to the correct targets that actually need them.

Testing

  • Verified that install-data now has no build dependencies
  • installcheck and bin-tarball retain their required build deps
  • make install will only copy already-built artifacts

cc @vincenzopalazzo — does this address your concerns from #8976?

…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

make install should only ever copy files

1 participant