kernel-headers and kernel-tools-libs-devel both contain /usr/include/ynl/devlink-user.h
When building kernel RPMs with YNL support enabled, there is a file conflict between two packages:
- kernel-headers
- kernel-tools-libs-devel
Both packages claim ownership of all YNL-generated header files in /usr/include/ynl/ (including devlink-user.h)
See: osci.installability downgrade
The issue is in redhat/kernel.spec.template where the %files sections for both packages overlap:
kernel-headers (lines 3944-3947)
%if %{with_headers}
%files headers
/usr/include/*
%exclude %{_includedir}/cpufreq.h
%endif
kernel-tools-libs-devel (lines 4089-4099)
%files -n %{package_name}-tools-libs-devel
%ifarch %{cpupowerarchs}
%{_libdir}/libcpupower.so
%{_includedir}/cpufreq.h
%{_includedir}/cpuidle.h
%{_includedir}/powercap.h
%endif
%if %{with_ynl}
%{_libdir}/libynl*
%{_includedir}/ynl
%endif
Proposed Solution
Exclude the ynl directory from kernel-headers package since it's already explicitly included in kernel-tools-libs-devel:
%if %{with_headers}
%files headers
/usr/include/*
%exclude %{_includedir}/cpufreq.h
+%exclude %{_includedir}/ynl
%endif
Jira: CKI-79
Edited by CKI Bot