From 494c52a7db3d196e4b9ca51da2bccdb1287e22ca Mon Sep 17 00:00:00 2001 From: Scott Little Date: Fri, 22 May 2020 17:33:38 -0400 Subject: [PATCH] Add missing BuildRequires to allow kmods to build reliably The original update that broke layered build was https://review.opendev.org/#/c/727908 all kmods failed to build due to a missing BuildRequires on elfutils-libelf-devel. The actual error message was: Makefile:977: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel". Stop. make: *** [default] Error 2 RPM build errors: In the case of centos, it is elfutils-libelf-devel that we need. The need for the kmod appears to relate to the new 4.18 kernel. It might be that kernel-devel should now have a 'Require elfutils-libelf-devel' Reproducibility depends on one of a few factors. If elfutils-libelf-devel may already be present within the mock environment due to build of a prior package, the build will pass. The kernel build pulls in elfutils-libelf-devel, and produces kernel-devel which is required for kmod builds. So it's easy to overlook this defect. So we need a build where mock is clean yet the kernel is already built. Two possibilities. 1) clean mock after building the kernel, but before building the kmods. 2) build avoidance when the kernel has not changed, but the kmod has. CENGN layered build hit the second scenario. This fix tackles the problem from the kmod side by adding BuildRequires elfutils-libelf-devel to each kmod. An alternative approach might be to add a Requires elfutils-libelf-devel to kernel-devel. That option has not yet been explored. So I'll call that a partial fix only. Partial-Bug: 1878072 Partial-Bug: 1880248 Change-Id: I472a5a285c2b47401fa6594358c0578d81e3f678 Signed-off-by: Scott Little --- kernel-modules/drbd/centos/build_srpm.data | 2 +- kernel-modules/drbd/centos/drbd-kernel.spec | 1 + .../intel-e1000e/centos/build_srpm.data | 2 +- .../intel-e1000e/centos/e1000e-kmod.spec | 1 + .../intel-i40e/centos/build_srpm.data | 2 +- .../intel-i40e/centos/i40e-kmod.spec | 1 + .../intel-iavf/centos/build_srpm.data | 2 +- .../intel-iavf/centos/iavf-kmod.spec | 1 + .../intel-ixgbe/centos/build_srpm.data | 2 +- .../intel-ixgbe/centos/ixgbe-kmod.spec | 1 + .../intel-ixgbevf/centos/build_srpm.data | 2 +- .../intel-ixgbevf/centos/ixgbevf-kmod.spec | 1 + .../mlnx-ofa_kernel/centos/build_srpm.data | 2 +- ...-BuildRequires-elfutils-libelf-devel.patch | 24 +++++++++++++++++++ .../centos/meta_patches/PATCH_ORDER | 1 + kernel-modules/qat17/centos/build_srpm.data | 2 +- kernel-modules/qat17/centos/qat17.spec | 1 + 17 files changed, 40 insertions(+), 8 deletions(-) create mode 100644 kernel-modules/mlnx-ofa_kernel/centos/meta_patches/0002-add-BuildRequires-elfutils-libelf-devel.patch diff --git a/kernel-modules/drbd/centos/build_srpm.data b/kernel-modules/drbd/centos/build_srpm.data index 9245b3b1..829ac222 100644 --- a/kernel-modules/drbd/centos/build_srpm.data +++ b/kernel-modules/drbd/centos/build_srpm.data @@ -1,4 +1,4 @@ COPY_LIST="$FILES_BASE/* \ $DISTRO/patches/* \ $CGCS_BASE/downloads/drbd-8.4.11-1.tar.gz" -TIS_PATCH_VER=3 +TIS_PATCH_VER=4 diff --git a/kernel-modules/drbd/centos/drbd-kernel.spec b/kernel-modules/drbd/centos/drbd-kernel.spec index b2e1525b..c217d8fa 100644 --- a/kernel-modules/drbd/centos/drbd-kernel.spec +++ b/kernel-modules/drbd/centos/drbd-kernel.spec @@ -18,6 +18,7 @@ License: GPLv2+ Summary: %{kmod_name} kernel module(s) BuildRequires: kernel%{?bt_ext}-devel, redhat-rpm-config, perl, openssl +BuildRequires: elfutils-libelf-devel ExclusiveArch: x86_64 # Sources. diff --git a/kernel-modules/intel-e1000e/centos/build_srpm.data b/kernel-modules/intel-e1000e/centos/build_srpm.data index 7b3dbb76..ab56c377 100644 --- a/kernel-modules/intel-e1000e/centos/build_srpm.data +++ b/kernel-modules/intel-e1000e/centos/build_srpm.data @@ -1,4 +1,4 @@ COPY_LIST=" \ $PKG_BASE/files/* \ $STX_BASE/downloads/e1000e-3.6.0.tar.gz" -TIS_PATCH_VER=3 +TIS_PATCH_VER=4 diff --git a/kernel-modules/intel-e1000e/centos/e1000e-kmod.spec b/kernel-modules/intel-e1000e/centos/e1000e-kmod.spec index 5f99403e..3e7a96e1 100644 --- a/kernel-modules/intel-e1000e/centos/e1000e-kmod.spec +++ b/kernel-modules/intel-e1000e/centos/e1000e-kmod.spec @@ -16,6 +16,7 @@ Summary: %{kmod_name}%{?bt_ext} kernel module(s) URL: http://www.intel.com/ BuildRequires: kernel%{?bt_ext}-devel, redhat-rpm-config, perl, openssl +BuildRequires: elfutils-libelf-devel ExclusiveArch: x86_64 # Sources. diff --git a/kernel-modules/intel-i40e/centos/build_srpm.data b/kernel-modules/intel-i40e/centos/build_srpm.data index 38ef3508..8a6c47b3 100644 --- a/kernel-modules/intel-i40e/centos/build_srpm.data +++ b/kernel-modules/intel-i40e/centos/build_srpm.data @@ -1,4 +1,4 @@ COPY_LIST=" \ $PKG_BASE/files/* \ $STX_BASE/downloads/i40e-2.10.19.82.tar.gz" -TIS_PATCH_VER=3 +TIS_PATCH_VER=4 diff --git a/kernel-modules/intel-i40e/centos/i40e-kmod.spec b/kernel-modules/intel-i40e/centos/i40e-kmod.spec index 0260d7fa..b3a6a39c 100644 --- a/kernel-modules/intel-i40e/centos/i40e-kmod.spec +++ b/kernel-modules/intel-i40e/centos/i40e-kmod.spec @@ -16,6 +16,7 @@ Summary: %{kmod_name}%{?bt_ext} kernel module(s) URL: http://www.intel.com/ BuildRequires: kernel%{?bt_ext}-devel, redhat-rpm-config, perl, openssl +BuildRequires: elfutils-libelf-devel ExclusiveArch: x86_64 # Sources. diff --git a/kernel-modules/intel-iavf/centos/build_srpm.data b/kernel-modules/intel-iavf/centos/build_srpm.data index e9ba02ab..10342c50 100644 --- a/kernel-modules/intel-iavf/centos/build_srpm.data +++ b/kernel-modules/intel-iavf/centos/build_srpm.data @@ -1,4 +1,4 @@ COPY_LIST=" \ $PKG_BASE/files/* \ $STX_BASE/downloads/iavf-3.7.61.20.tar.gz" -TIS_PATCH_VER=3 +TIS_PATCH_VER=4 diff --git a/kernel-modules/intel-iavf/centos/iavf-kmod.spec b/kernel-modules/intel-iavf/centos/iavf-kmod.spec index e0508e34..ce4a56ea 100644 --- a/kernel-modules/intel-iavf/centos/iavf-kmod.spec +++ b/kernel-modules/intel-iavf/centos/iavf-kmod.spec @@ -16,6 +16,7 @@ Summary: %{kmod_name} kernel module(s) URL: http://www.intel.com/ BuildRequires: kernel%{?bt_ext}-devel, redhat-rpm-config, perl, openssl +BuildRequires: elfutils-libelf-devel ExclusiveArch: x86_64 # Sources. diff --git a/kernel-modules/intel-ixgbe/centos/build_srpm.data b/kernel-modules/intel-ixgbe/centos/build_srpm.data index 425c64f8..507e697d 100644 --- a/kernel-modules/intel-ixgbe/centos/build_srpm.data +++ b/kernel-modules/intel-ixgbe/centos/build_srpm.data @@ -1,4 +1,4 @@ COPY_LIST=" \ $PKG_BASE/files/* \ $STX_BASE/downloads/ixgbe-5.6.5.tar.gz" -TIS_PATCH_VER=3 +TIS_PATCH_VER=4 diff --git a/kernel-modules/intel-ixgbe/centos/ixgbe-kmod.spec b/kernel-modules/intel-ixgbe/centos/ixgbe-kmod.spec index 6f284b68..e78944e2 100644 --- a/kernel-modules/intel-ixgbe/centos/ixgbe-kmod.spec +++ b/kernel-modules/intel-ixgbe/centos/ixgbe-kmod.spec @@ -16,6 +16,7 @@ Summary: %{kmod_name} kernel module(s) URL: http://www.intel.com/ BuildRequires: kernel%{?bt_ext}-devel, redhat-rpm-config, perl, openssl +BuildRequires: elfutils-libelf-devel ExclusiveArch: x86_64 # Sources. diff --git a/kernel-modules/intel-ixgbevf/centos/build_srpm.data b/kernel-modules/intel-ixgbevf/centos/build_srpm.data index 27a367e8..55b229e0 100644 --- a/kernel-modules/intel-ixgbevf/centos/build_srpm.data +++ b/kernel-modules/intel-ixgbevf/centos/build_srpm.data @@ -1,4 +1,4 @@ COPY_LIST=" \ $PKG_BASE/files/* \ $STX_BASE/downloads/ixgbevf-4.6.3.tar.gz" -TIS_PATCH_VER=3 +TIS_PATCH_VER=4 diff --git a/kernel-modules/intel-ixgbevf/centos/ixgbevf-kmod.spec b/kernel-modules/intel-ixgbevf/centos/ixgbevf-kmod.spec index 45212dea..342f5f1d 100644 --- a/kernel-modules/intel-ixgbevf/centos/ixgbevf-kmod.spec +++ b/kernel-modules/intel-ixgbevf/centos/ixgbevf-kmod.spec @@ -16,6 +16,7 @@ Summary: %{kmod_name} kernel module(s) URL: http://www.intel.com/ BuildRequires: kernel%{?bt_ext}-devel, redhat-rpm-config, perl, openssl +BuildRequires: elfutils-libelf-devel ExclusiveArch: x86_64 # Sources. diff --git a/kernel-modules/mlnx-ofa_kernel/centos/build_srpm.data b/kernel-modules/mlnx-ofa_kernel/centos/build_srpm.data index 94fdffee..fc76d43c 100644 --- a/kernel-modules/mlnx-ofa_kernel/centos/build_srpm.data +++ b/kernel-modules/mlnx-ofa_kernel/centos/build_srpm.data @@ -1,3 +1,3 @@ COPY_LIST="$PKG_BASE/files/modules-load.conf" -TIS_PATCH_VER=3 +TIS_PATCH_VER=4 BUILD_IS_SLOW=3 diff --git a/kernel-modules/mlnx-ofa_kernel/centos/meta_patches/0002-add-BuildRequires-elfutils-libelf-devel.patch b/kernel-modules/mlnx-ofa_kernel/centos/meta_patches/0002-add-BuildRequires-elfutils-libelf-devel.patch new file mode 100644 index 00000000..5d672e2f --- /dev/null +++ b/kernel-modules/mlnx-ofa_kernel/centos/meta_patches/0002-add-BuildRequires-elfutils-libelf-devel.patch @@ -0,0 +1,24 @@ +From 372af54951e76f0f03c85a3e99711a400a9e7072 Mon Sep 17 00:00:00 2001 +From: Scott Little +Date: Fri, 22 May 2020 17:22:30 -0400 +Subject: [PATCH] add BuildRequires elfutils-libelf-devel + +--- + SPECS/mlnx-ofa_kernel.spec | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/SPECS/mlnx-ofa_kernel.spec b/SPECS/mlnx-ofa_kernel.spec +index 44a31ef..bddd949 100644 +--- a/SPECS/mlnx-ofa_kernel.spec ++++ b/SPECS/mlnx-ofa_kernel.spec +@@ -35,6 +35,7 @@ + + %{!?KMP: %global KMP 0} + BuildRequires: kernel%{?bt_ext}-devel, openssl ++BuildRequires: elfutils-libelf-devel + %global WITH_SYSTEMD %(if ( test -d "%{_unitdir}" > /dev/null); then echo -n '1'; else echo -n '0'; fi) + + %{!?configure_options: %global configure_options --with-core-mod --with-user_mad-mod --with-user_access-mod --with-addr_trans-mod --with-mlx4-mod --with-mlx4_en-mod --with-mlx5-mod --with-mlxfw-mod --with-ipoib-mod} +-- +1.8.3.1 + diff --git a/kernel-modules/mlnx-ofa_kernel/centos/meta_patches/PATCH_ORDER b/kernel-modules/mlnx-ofa_kernel/centos/meta_patches/PATCH_ORDER index 99ee2d18..c628fa26 100644 --- a/kernel-modules/mlnx-ofa_kernel/centos/meta_patches/PATCH_ORDER +++ b/kernel-modules/mlnx-ofa_kernel/centos/meta_patches/PATCH_ORDER @@ -1 +1,2 @@ 0001-Support-TiS-system.patch +0002-add-BuildRequires-elfutils-libelf-devel.patch diff --git a/kernel-modules/qat17/centos/build_srpm.data b/kernel-modules/qat17/centos/build_srpm.data index 6ee942f8..e3fffa7a 100644 --- a/kernel-modules/qat17/centos/build_srpm.data +++ b/kernel-modules/qat17/centos/build_srpm.data @@ -2,5 +2,5 @@ COPY_LIST=" \ $PKG_BASE/files/* \ $STX_BASE/downloads/qat1.7.l.4.5.0-00034.tar.gz \ " -TIS_PATCH_VER=3 +TIS_PATCH_VER=4 BUILD_IS_SLOW=3 diff --git a/kernel-modules/qat17/centos/qat17.spec b/kernel-modules/qat17/centos/qat17.spec index cd2325c7..d7fc4492 100644 --- a/kernel-modules/qat17/centos/qat17.spec +++ b/kernel-modules/qat17/centos/qat17.spec @@ -23,6 +23,7 @@ BuildRequires: libudev-devel BuildRequires: boost-devel BuildRequires: perl BuildRequires: openssl +BuildRequires: elfutils-libelf-devel %define icp_tools accelcomp %define kernel_version %(rpm -q kernel%{?bt_ext}-devel | sed 's/kernel%{?bt_ext}-devel-//')