-
-
Notifications
You must be signed in to change notification settings - Fork 244
Open
Description
Summary
- CentOS Stream 10 integration is currently disabled in
.github/workflows/ci.ymldue to missing dependency resolution for PCRE:# - "centos-stream-10" No candidate version available for pcre-devel(see.github/workflows/ci.yml, L31)
Observed
- When attempting to compile HAProxy from source on CentOS Stream 10 (via Test Kitchen/Dokken), Yum/DNF cannot find
pcre-devel. libraries/helpers.rbrequestspcre-develfor RHEL-like platforms viaHaproxy::Cookbook::Helpers#source_package_list.resources/install.rbonly setsUSE_PCRE=1duringmakeand does not supportUSE_PCRE2.
Hypothesis
- EL10 has dropped PCRE1 headers in favor of PCRE2. The correct development package is likely
pcre2-devel, and HAProxy should be compiled withUSE_PCRE2=1instead ofUSE_PCRE=1on this platform.
Affected code
.github/workflows/ci.yml(integration job): CentOS Stream 10 is commented out with the note above.libraries/helpers.rb(methodsource_package_list): usespcre-develfor 'rhel', 'amazon', 'fedora'.resources/install.rb(build flags): currently appendsUSE_PCRE=...but has noUSE_PCRE2toggle.
Proposed fix
- Add PCRE2 support in source builds:
- Introduce a
use_pcre2property inresources/install.rband conditionally appendUSE_PCRE2=...to the make command. - Default to PCRE2 on EL10+ (retain PCRE1 for older RHEL-like releases), or auto-detect based on package availability.
- Introduce a
- Update dependency mapping in
libraries/helpers.rb:- For RHEL-family platforms, use
pcre2-develon EL10+; keeppcre-develfor EL9 and older.
- For RHEL-family platforms, use
- Re-enable
centos-stream-10in the integration matrix once the above is green.
Acceptance criteria
- CI successfully runs all relevant source suites on CentOS Stream 10.
- No regressions on EL8/EL9, Debian, Ubuntu, etc.
- Tests updated per TDD guidelines to cover PCRE2 path and CentOS Stream 10.
Context
- Current HAProxy
source_versiondefault is 2.8.5, which supports PCRE2. - Kitchen images include
centos-stream-10inkitchen.dokken.yml, so once dependencies are fixed, we should be able to enable it in CI.
If desired, I can open a PR implementing the above changes and re-enabling CentOS Stream 10 in .github/workflows/ci.yml.
Copilot
Metadata
Metadata
Assignees
Labels
No labels