Support #8604
opensuricata-1:8.0.5-1.el9 COPR RPM breaks upgrade path due to DPDK 21.11→24.11 build environment jump on RHEL 9
Description
Platform: RHEL 9.7 (el9), x86_64, glibc 2.34
Kernel: 5.14.0-611.55.1.el9_7.x86_64
Repository: copr:oisf:suricata-8.0
Affected package: suricata-1:8.0.5-1.el9.x86_64
Description:
Upgrading from suricata-1:8.0.4-1.el9 to suricata-1:8.0.5-1.el9 via dnf fails with broken DPDK dependencies. Both packages are built with DPDK support, but the 8.0.5 COPR package was compiled against DPDK 24.11 (.so.26), whereas the 8.0.4 package was
Upgrading from suricata-1:8.0.4-1.el9 to suricata-1:8.0.5-1.el9 via dnf fails with broken DPDK dependencies. Both packages are built with DPDK support, but the 8.0.5 COPR package was compiled against DPDK 24.11 (.so.26), whereas the 8.0.4 package was
compiled against DPDK 21.11 (.so.21). DPDK 24.11 is not available in EPEL 9 or any standard RHEL 9 repository, making the upgrade impossible on any standard el9 system without manually installing a DPDK 24.11 stack.
The Suricata source itself has not changed its DPDK requirement — configure.ac specifies only libdpdk >= 19.11 in both 8.0.4 and 8.0.5. This is purely a build environment regression in the COPR package: the DPDK version on the build host jumped an
LTS cycle without a corresponding DPDK 24.11 package being published to the COPR or EPEL 9.
Steps to Reproduce:
dnf update suricata
Error Output:
Problem: cannot install the best update candidate for package suricata-1:8.0.4-1.el9.x86_64
- nothing provides librte_eal.so.26()(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_eal.so.26(DPDK_26)(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_ethdev.so.26()(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_ethdev.so.26(DPDK_26)(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_ethdev.so.26(EXPERIMENTAL)(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_kvargs.so.26()(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_kvargs.so.26(DPDK_26)(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_log.so.26()(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_log.so.26(DPDK_26)(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_mbuf.so.26()(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_mbuf.so.26(DPDK_26)(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_mempool.so.26()(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
- nothing provides librte_mempool.so.26(DPDK_26)(64bit) needed by suricata-1:8.0.5-1.el9.x86_64 from copr:oisf:suricata-8.0
Root Cause:
┌─────────────────────┬───────────┬───────────┐
│ │ 8.0.4 el9 │ 8.0.5 el9 │
├─────────────────────┼───────────┼───────────┤
│ DPDK version linked │ 21.11 │ 24.11 │
├─────────────────────┼───────────┼───────────┤
│ DPDK soversion │ .so.21 │ .so.26 │
├─────────────────────┼───────────┼───────────┤
│ Available in EPEL 9 │ Yes │ No │
└─────────────────────┴───────────┴───────────┘
The Suricata configure.ac minimum requirement is libdpdk >= 19.11 in both releases — the source did not change. The build host for the 8.0.5 COPR package had DPDK 24.11 installed, so the resulting RPM dynamically links against .so.26, which has no
installable provider on el9.
Expected Behavior, One of:
1. The 8.0.5 el9 COPR package is rebuilt against DPDK 21.11 (matching what EPEL 9 provides), preserving the upgrade path for all standard RHEL 9 users.
2. A DPDK 24.11 package is published to the copr:oisf:suricata-8.0 COPR as a dependency, and the upgrade path is documented.
Impact:
All RHEL 9 / Rocky Linux 9 / AlmaLinux 9 users of the official copr:oisf:suricata-8.0 repository are silently blocked from upgrading to 8.0.5. dnf update skips the package without error unless --best is passed.
JI Updated by Jason Ish 6 days ago
- Tracker changed from Task to Support
- Target version deleted (
TBD) - Effort deleted (
low)
Our release was very close to the RHEL 9.8 and RHEL 10.2 releases, so copr build against those versions. If you update to RHEL 9.8 these will install fine. Alma 9.8 is out, Rocky and others might still be catching up.
Unfortunately, there isn't much we can do here, short of remove DPDK support. But even then, it could just be another library that causes issues.