From f253e1e53efe2726d869c9596cdf9136b5c58a90 Mon Sep 17 00:00:00 2001 From: Tomasz Gromadzki Date: Thu, 20 Aug 2026 15:06:21 +0200 Subject: [PATCH 1/3] SRE-3976 build: exclude leap 15.6 RPMs from build Signed-off-by: Tomasz Gromadzki --- utils/rpms/packaging/rpm_chrootbuild | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/utils/rpms/packaging/rpm_chrootbuild b/utils/rpms/packaging/rpm_chrootbuild index 8b86a6d699a..da49dc1b148 100755 --- a/utils/rpms/packaging/rpm_chrootbuild +++ b/utils/rpms/packaging/rpm_chrootbuild @@ -49,6 +49,15 @@ best=0 """ EOF +if [[ "$CHROOT_NAME" == *opensuse-leap-15.5* ]]; then + cat <<'EOF' >> mock.cfg +config_opts['dnf.conf'] += """ +[main] +exclude=*.suse.lp156* +""" +EOF +fi + # shellcheck disable=SC2153 repo_adds=() repo_dels=() From 3d25e3d38f982eeffdf2326f2498873f07fc6d4e Mon Sep 17 00:00:00 2001 From: Tomasz Gromadzki Date: Thu, 20 Aug 2026 20:02:56 +0200 Subject: [PATCH 2/3] Update documentation and simplify filer Signed-off-by: Tomasz Gromadzki --- utils/rpms/packaging/rpm_chrootbuild | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/utils/rpms/packaging/rpm_chrootbuild b/utils/rpms/packaging/rpm_chrootbuild index da49dc1b148..abec31f6c0a 100755 --- a/utils/rpms/packaging/rpm_chrootbuild +++ b/utils/rpms/packaging/rpm_chrootbuild @@ -49,11 +49,24 @@ best=0 """ EOF +# 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. if [[ "$CHROOT_NAME" == *opensuse-leap-15.5* ]]; then cat <<'EOF' >> mock.cfg config_opts['dnf.conf'] += """ [main] -exclude=*.suse.lp156* +exclude=*.lp156* """ EOF fi From b99820118aecd3545798af33cd67d0ccfb23dd7a Mon Sep 17 00:00:00 2001 From: Tomasz Gromadzki Date: Thu, 20 Aug 2026 20:01:15 +0000 Subject: [PATCH 3/3] Documentation update Signed-off-by: Tomasz Gromadzki --- utils/rpms/packaging/rpm_chrootbuild | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/utils/rpms/packaging/rpm_chrootbuild b/utils/rpms/packaging/rpm_chrootbuild index abec31f6c0a..4eed4cc2912 100755 --- a/utils/rpms/packaging/rpm_chrootbuild +++ b/utils/rpms/packaging/rpm_chrootbuild @@ -49,19 +49,17 @@ best=0 """ EOF -# 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. +# 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 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. +# 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 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. +# The result is an installation failure for Leap 15.5. Therefore we apply +# a repository filter in dnf.conf (exclude .lp156). if [[ "$CHROOT_NAME" == *opensuse-leap-15.5* ]]; then cat <<'EOF' >> mock.cfg config_opts['dnf.conf'] += """