From 24a7530968184bd133432e1f8dfccebef772bc7e Mon Sep 17 00:00:00 2001 From: Jiping Ma Date: Fri, 28 Jan 2022 23:28:18 -0800 Subject: [PATCH] Support STX system and introduce devtoolset-8 Signed-off-by: Jiping Ma --- mlnx-ofa_kernel.spec | 46 ++++++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/SPECS/mlnx-ofa_kernel.spec b/SPECS/mlnx-ofa_kernel.spec index 6a6cde0..3e0d564 100644 --- a/SPECS/mlnx-ofa_kernel.spec +++ b/SPECS/mlnx-ofa_kernel.spec @@ -25,10 +25,19 @@ # and/or other materials provided with the distribution. # # +%if "%{_tis_build_type}" == "rt" +%define bt_ext -rt +%else +%undefine bt_ext +%endif # KMP is disabled by default %{!?KMP: %global KMP 0} - +BuildRequires: kernel%{?bt_ext}-devel, openssl +BuildRequires: devtoolset-8-build +BuildRequires: devtoolset-8-binutils +BuildRequires: devtoolset-8-gcc +BuildRequires: devtoolset-8-make %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-mlx5-mod --with-mlxfw-mod --with-ipoib-mod} @@ -43,11 +52,11 @@ %global IS_RHEL_VENDOR "%{_vendor}" == "redhat" || ("%{_vendor}" == "bclinux") || ("%{_vendor}" == "openEuler") -%{!?KVERSION: %global KVERSION %(uname -r)} +%{!?KVERSION: %global KVERSION %(rpm -q kernel%{?bt_ext}-devel | sort --version-sort | tail -1 | sed 's/kernel%{?bt_ext}-devel-//')} %global kernel_version %{KVERSION} %global krelver %(echo -n %{KVERSION} | sed -e 's/-/_/g') # take path to kernel sources if provided, otherwise look in default location (for non KMP rpms). -%{!?K_SRC: %global K_SRC /lib/modules/%{KVERSION}/build} +%{!?K_SRC: %global K_SRC /usr/src/kernels/%{KVERSION}} # Select packages to build @@ -62,7 +71,8 @@ %{!?KERNEL_SOURCES: %global KERNEL_SOURCES /lib/modules/%{KVERSION}/source} -%{!?_name: %global _name mlnx-ofa_kernel} +%define _basename mlnx-ofa_kernel +%define _name %{_basename}%{?bt_ext} %{!?_version: %global _version 5.5} %{!?_release: %global _release OFED.5.5.1.0.3.1} %global _kmp_rel %{_release}%{?_kmp_build_num}%{?_dist} @@ -74,11 +84,12 @@ Summary: Infiniband HCA Driver Name: %{_name} Version: %{_version} -Release: %{_release}%{?_dist} +Release: %{_release}%{?_dist}%{?_tis_dist}.%{tis_patch_ver} License: GPLv2 Url: http://www.mellanox.com/ Group: System Environment/Base -Source: %{_name}-%{_version}.tgz +Source: %{_basename}-%{_version}.tgz +Source100: modules-load.conf BuildRoot: %{?build_root:%{build_root}}%{!?build_root:/var/tmp/OFED} Vendor: Mellanox Technologies Obsoletes: kernel-ib @@ -148,7 +159,7 @@ Obsoletes: mlnx-en-debuginfo Obsoletes: mlnx-en-sources Obsoletes: mlnx-rdma-rxe Version: %{_version} -Release: %{_release}.kver.%{krelver} +Release: %{_release}%{?_tis_dist}.%{tis_patch_ver} Summary: Infiniband Driver and ULPs kernel modules Group: System Environment/Libraries %description -n %{non_kmp_pname} @@ -163,7 +174,7 @@ Version: %{_version} %if "%{KMP}" == "1" Release: %{_release}%{?_dist} %else -Release: %{_release}.kver.%{krelver} +Release: %{_release}%{?_tis_dist}.%{tis_patch_ver} %endif Obsoletes: kernel-ib-devel Obsoletes: kernel-ib @@ -252,13 +263,16 @@ drivers against it. %{!?install_mod_dir: %global install_mod_dir updates} %prep -%setup -n %{_name}-%{_version} +%setup -n %{_basename}-%{_version} set -- * mkdir source mv "$@" source/ mkdir obj %build +%if 0%{?rhel} == 7 +source scl_source enable devtoolset-8 || : +%endif export EXTRA_CFLAGS='-DVERSION=\"%version\"' export INSTALL_MOD_DIR=%{install_mod_dir} export CONF_OPTIONS="%{configure_options}" @@ -277,12 +291,17 @@ for flavor in %flavors_to_build; do done %install +%if 0%{?rhel} == 7 +source scl_source enable devtoolset-8 || : +%endif export RECORD_PY_FILES=1 export INSTALL_MOD_PATH=%{buildroot} export INSTALL_MOD_DIR=%{install_mod_dir} -export NAME=%{name} +export NAME=%{_basename} export VERSION=%{version} export PREFIX=%{_prefix} +export MODULE_SIGN_PRIV_KEY=/usr/src/kernels/%{KVERSION}/signing_key.pem +export MODULE_SIGN_PUB_KEY=/usr/src/kernels/%{KVERSION}/signing_key.x509 for flavor in %flavors_to_build; do export KSRC=%{kernel_source $flavor} export KVERSION=%{kernel_release $KSRC} @@ -327,14 +346,16 @@ echo "override ${mod_name} * weak-updates/%{_name}${mod_path}" >> %{buildroot}%{ echo "override ${mod_name} * extra/%{_name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz01-%{_name}-${mod_name}.conf done %endif +%{__install} -d %{buildroot}%{_sysconfdir}/modules-load.d +%{__install} -m 644 %{SOURCE100} %{buildroot}%{_sysconfdir}/modules-load.d/mlnx.conf %endif # copy sources mkdir -p %{buildroot}/%{_prefix}/src/ofa_kernel-%{version} mkdir -p %{buildroot}/%{_prefix}/src/ofa_kernel/%{_arch} -cp -a %{_builddir}/%{name}-%{version}/source %{buildroot}/%{_prefix}/src/ofa_kernel-%{version}/source +cp -a %{_builddir}/%{_basename}-%{version}/source %{buildroot}/%{_prefix}/src/ofa_kernel-%{version}/source ln -s ofa_kernel-%{version}/source %{buildroot}/%{_prefix}/src/mlnx-ofa_kernel-%{version} -cp -a %{_builddir}/src/%{name}/* %{buildroot}/%{_prefix}/src/ofa_kernel/%{_arch}/%{KVERSION} +cp -a %{_builddir}/src/%{_basename}/* %{buildroot}/%{_prefix}/src/ofa_kernel/%{_arch}/%{KVERSION} # Fix path of BACKPORT_INCLUDES sed -i -e "s@=-I.*backport_includes@=-I/usr/src/ofa_kernel-$VERSION/backport_includes@" %{buildroot}/%{_prefix}/src/ofa_kernel/%{_arch}/%{KVERSION}/configure.mk.kernel || true rm -rf %{_builddir}/src @@ -681,6 +702,7 @@ update-alternatives --remove \ %config(noreplace) %{_sysconfdir}/depmod.d/zz01-%{_name}-*.conf %endif %endif +%{_sysconfdir}/modules-load.d/mlnx.conf %endif %files -n %{devel_pname} -- 2.31.1