Skip to content

SRE-3976 build: exclude leap 15.6 RPMs from build - #18903

Open
grom72 wants to merge 3 commits into
release/2.6from
grom72/SRE-3976-exclude-15.6-from-build
Open

SRE-3976 build: exclude leap 15.6 RPMs from build#18903
grom72 wants to merge 3 commits into
release/2.6from
grom72/SRE-3976-exclude-15.6-from-build

Conversation

@grom72

@grom72 grom72 commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Steps for the author:

  • Commit message follows the guidelines.
  • Appropriate Features or Test-tag pragmas were used.
  • Appropriate Functional Test Stages were run.
  • At least two positive code reviews including at least one code owner from each category referenced in the PR.
  • Testing is complete. If necessary, forced-landing label added and a reason added in a comment.

After all prior steps are complete:

  • Gatekeeper requested (daos-gatekeeper added as a reviewer).

Signed-off-by: Tomasz Gromadzki <tomasz.gromadzki@hpe.com>
@github-actions

Copy link
Copy Markdown

Errors are Unable to load ticket data
https://daosio.atlassian.net/browse/SRE-3976

@grom72
grom72 marked this pull request as ready for review August 20, 2026 13:22
@grom72
grom72 requested a review from a team as a code owner August 20, 2026 13:22
ryon-jensen
ryon-jensen previously approved these changes Aug 20, 2026
@daosbuild3

Copy link
Copy Markdown
Collaborator

Signed-off-by: Tomasz Gromadzki <tomasz.gromadzki@hpe.com>
Comment thread utils/rpms/packaging/rpm_chrootbuild Outdated
Comment on lines +52 to +64
# Leap 15.5 and Leap 15.6 DAOS packages can coexist in a single Artifactory
# repository path. During mock/dnf dependency resolution for a Leap 15.5
# chroot, dnf may prefer newer *.suse.lp156* (Leap 15.6) package candidates.
#
# This leads to 15.5 builds pulling 15.6-built packages and their dependency
# chain (for example libpmemobj and related libraries). Those dependencies are
# not fully ABI-compatible across these releases, especially around libc/glibc:
# 15.6-built packages may require GLIBC_2.34 symbols, while Leap 15.5 provides
# glibc up to 2.31.
#
# The result can be dependency installation failures inside the Leap 15.5 root.
# Therefore we apply a chroot-level repository filter in mock dnf.conf (exclude
# *.suse.lp156*) instead of changing DAOS spec dependencies.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Why "can" and "may" where we know all of these are just facts?
  2. mock/chroot are irrelevant in this conversation. The only important bits are the version of the Leap and the dnf configuration.
  3. IMHO too much about dependencies and dependencies chain. A packages requires glibc in version X.
  4. I do not understand what is this alternative "changing DAOS spec dependencies". We would have to specify exact "suse.leap15X" suffix to make it work. It does not seem as a viable solution.

Shorter, less bloated and to the point suggestion:

Leap 15.5 and Leap 15.6 DAOS packages COEXIST in a single Artifactory repository path. During dependency resolution for Leap 15.5, dnf prefers .suse.lp156 package candidates because string lp156 > lp155 from the string-comparison point of view.

This leads to 15.5 builds pulling 15.6-built packages where these packages are not compatible with the Leap 15.5 system e.g. 15.6-built packages require GLIBC_2.34 symbols, while Leap 15.5 provides glibc up to 2.31.

The result is an installation failure for Leap 15.5. Therefore we apply a repository filter in dnf.conf (exclude .suse.lp156).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Comment thread utils/rpms/packaging/rpm_chrootbuild Outdated
# This leads to 15.5 builds pulling 15.6-built packages and their dependency
# chain (for example libpmemobj and related libraries). Those dependencies are
# not fully ABI-compatible across these releases, especially around libc/glibc:
# 15.6-built packages may require GLIBC_2.34 symbols, while Leap 15.5 provides

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure GLIBC_2.34 is the requirement? From what I see online it may be even 2.38.

Ref: https://build.opensuse.org/projects/openSUSE:Leap:15.6:Update/packages/glibc/files/glibc.spec?expand=1

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is minimum requirement (at least)

Signed-off-by: Tomasz Gromadzki <tomasz.gromadzki@hpe.com>
@grom72
grom72 requested a review from janekmi August 20, 2026 20:01
@daosbuild3

Copy link
Copy Markdown
Collaborator

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants