Add Rocky Linux 10 runtime dependencies to the RPM spec - #1983
Draft
tuhaihe wants to merge 1 commit into
Draft
Conversation
Cloudberry builds and packages on Rocky Linux 10 already -- the build and test images exist and package-convenience-binaries.yml produces rocky10 RPMs for x86_64 and arm64 -- but the spec only carries distro-specific Requires for el8 and el9. On el10 the RPM therefore ships with no library dependencies at all beyond the common set. Add an el10 block derived from the shared libraries an el10 build actually links against (collected with objdump over the installed tree), mapped onto the packages that provide them on Rocky Linux 10. Three el10 specifics drove the package names chosen: - zlib was replaced by zlib-ng-compat. - libbz2, liblz4 and libperl only ship in the *-libs subpackages. Requiring the umbrella perl package instead would pull the whole Perl toolchain, including redhat-rpm-config and systemtap-sdt-devel (263 packages / 312MB versus 65 packages / 65MB). PL/Perl needs nothing beyond perl-libs: plc_perlboot.pl and plc_trusted.pl only load strict, warnings, vars, overload, Carp, Carp::Heavy, feature and Tie::Hash, all of which perl-libs provides. - a stock Rocky Linux 10 ships libcurl-minimal, which conflicts with libcurl while providing the same libcurl.so.4. A plain "Requires: libcurl" makes the package uninstallable there without --allowerasing, so the dependency is expressed as a rich dependency accepting either. The list also covers dependencies the el8/el9 blocks happen to miss (krb5-libs, openssl-libs, libgcc, libicu, liburing, protobuf); those blocks are left alone here to keep this change reviewable. Verified on Rocky Linux 10.1: rpmspec emits the intended Requires, every package exists for both x86_64 and aarch64, and a probe RPM carrying this exact list installs cleanly into a stock rockylinux/rockylinux:10 container. Assisted-by: Claude Code
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.
Cloudberry builds and packages on Rocky Linux 10 already -- the build and test images exist and package-convenience-binaries.yml produces rocky10 RPMs for x86_64 and arm64 -- but the spec only carries distro-specific Requires for el8 and el9. On el10 the RPM therefore ships with no library dependencies at all beyond the common set.
Add an el10 block derived from the shared libraries an el10 build actually links against (collected with objdump over the installed tree), mapped onto the packages that provide them on Rocky Linux 10.
Three el10 specifics drove the package names chosen:
The list also covers dependencies the el8/el9 blocks happen to miss (krb5-libs, openssl-libs, libgcc, libicu, liburing, protobuf); those blocks are left alone here to keep this change reviewable.
Verified on Rocky Linux 10.1: rpmspec emits the intended Requires, every package exists for both x86_64 and aarch64, and a probe RPM carrying this exact list installs cleanly into a stock rockylinux/rockylinux:10 container.
Assisted-by: Claude Code
Fixes #ISSUE_Number
What does this PR do?
Type of Change
Breaking Changes
Test Plan
make installcheckmake -C src/test installcheck-cbdb-parallelImpact
Performance:
User-facing changes:
Dependencies:
Checklist
Additional Context
CI Skip Instructions