Skip to content

fix: improve source build dependencies for Linux distros#63

Merged
rozsazoltan merged 19 commits into
masterfrom
fix/source-build-dependencies
Jun 4, 2026
Merged

fix: improve source build dependencies for Linux distros#63
rozsazoltan merged 19 commits into
masterfrom
fix/source-build-dependencies

Conversation

@rozsazoltan

@rozsazoltan rozsazoltan commented May 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Improves source build dependency installation and source build diagnostics across supported platforms

This expands distro-aware dependency handling, adds broader source install CI coverage, and improves build logs so failures are easier to diagnose without flooding the terminal with full configure or compiler output

Closes #62

Changes

  • Reworked automatic source build dependency installation to detect the operating system, package manager, PHP version, configure options, and requested PECL/PIE extensions
  • Added dependency handling for Debian, Ubuntu, Fedora, Enterprise Linux compatible systems, Arch Linux, Alpine Linux, Amazon Linux, and macOS through Homebrew
  • Improved Enterprise Linux handling by separating EL8, EL9, and EL10 compatible systems
  • Added special handling for older Enterprise Linux systems where newer PHP versions require a newer re2c
  • Added PIC/PIE build flags for PHP 8.5+ on EL8-compatible systems
  • Improved source build logs with timestamped log files grouped by install attempt
  • Updated configure and make failure output to show relevant excerpts and debug log paths instead of dumping full build logs
  • Expanded source install CI coverage across major supported Linux distribution families, macOS, and Windows
  • Shortened the README source build dependency documentation and linked to the dedicated skip dependency installation section

Testing

  • Verified source install flow on hosted Linux, macOS, and Windows runners
  • Verified source install flow across Debian, Ubuntu, Fedora, CentOS Stream, Rocky Linux, AlmaLinux, Oracle Linux, Amazon Linux, Arch Linux, and Alpine Linux containers
  • Verified PHP, Composer, PIE, and required runtime extensions after source builds
  • Verified PECL-capable source builds separately
  • Verified source build logging behavior for configure and make failures
  • Verified dependency installer syntax and workflow configuration

Notes

Automatic dependency installation remains enabled by default

Users who prefer to manage system packages manually can disable dependency installation permanently or for a single install through the existing skip_deps configuration

@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
@rozsazoltan rozsazoltan added the needs-ci Triggers the CI test workflow label May 25, 2026
@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
@rozsazoltan rozsazoltan removed the needs-ci Triggers the CI test workflow label May 25, 2026
@rozsazoltan rozsazoltan added the needs-ci Triggers the CI test workflow label May 25, 2026
@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
@rozsazoltan rozsazoltan added needs-ci Triggers the CI test workflow and removed needs-ci Triggers the CI test workflow labels May 25, 2026
Removed unnecessary blank line before pecl_extensions check.

Signed-off-by: Rózsa Zoltán <67325669+rozsazoltan@users.noreply.github.com>
@rozsazoltan rozsazoltan merged commit d841d5a into master Jun 4, 2026
@rozsazoltan rozsazoltan deleted the fix/source-build-dependencies branch June 4, 2026 16:01
@rozsazoltan

Copy link
Copy Markdown
Contributor Author

The GitHub workflow on Windows appears to be a false positive. The actual release does indeed fail on a real Windows system. See #65.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-ci Triggers the CI test workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation: Required system dependencies for building PHP #202

1 participant