From b044a48cf8ee2a02f9f19b52fc6854f55ecd25ce Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sun, 8 Mar 2020 20:28:01 +0000 Subject: [PATCH 1/2] RPM build: Add support for CentOSPlus See also https://sourceforge.net/p/scst/tickets/34/ . This was reported by Brandon Thetford. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8833 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst-dkms.spec.in | 57 +++++++++++++++++++++++++++++++---------------- scst.spec.in | 7 ++++++ 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/scst-dkms.spec.in b/scst-dkms.spec.in index 7a8ca9435..2a17815fd 100644 --- a/scst-dkms.spec.in +++ b/scst-dkms.spec.in @@ -7,31 +7,48 @@ %{echo:kversion=%{kversion} } # kernel_rpm: Name of the kernel RPM if the kernel is available as an RPM. -%if %{expand:%%(rpm --quiet -q kernel-headers || - rpm --quiet -qf /lib/modules/%{kversion}/kernel/arch 2>/dev/null; +# krpmver: Version of the kernel RPM. Not necessarily identical to kversion. +%if %{expand:%%(rpm --quiet -qf /lib/modules/%{kversion}/kernel/arch 2>/dev/null; echo $((1-$?)))} %define kernel_rpm %{expand:%%( - if rpm --quiet -q kernel-headers; then - echo kernel; - else - rpm -q --qf '%%%%{name}\\n' \\ - "$(rpm -qf /lib/modules/%%{kversion}/kernel/arch | head -n1)"; - fi + rpm -q --qf '%%%%{name}\\n' -f \\ + /lib/modules/%%{kversion}/kernel/arch | uniq + )} +%define krpmver %{expand:%%( + rpm -q --qf '%%%%{version}-%%%%{release}\\n' -f \\ + /lib/modules/%%{kversion}/kernel/arch | uniq + )} +%else +%if %{expand:%%(rpm --quiet -q kernel-headers; echo $((1-$?)))} +%define kernel_rpm kernel +%define krpmver %{expand:%%( + rpm -q --qf '%%%%{BUILDTIME} %%%%{version}-%%%%{release}\\n' \\ + kernel-headers | sort | tail -n1 | { read a b; echo $b; } )} %endif -# krpmver: Version of the kernel RPM. Not necessarily identical to %{kversion}. -%{?kernel_rpm:%define krpmver %{expand:%%( - if rpm --quiet -q %%{kernel_rpm}; then - rpm -q --qf '%%%%{version}-%%%%{release}\\n' "%%{kernel_rpm}"; - else - rpm -q --qf '%%%%{version}-%%%%{release}\\n' kernel-headers; - fi | - head -n1 - )}} -%{echo:krpmver=%{krpmver} +%endif +%{?kernel_rpm: +%{echo:kernel_rpm=%{kernel_rpm} } +%{echo:krpmver=%{krpmver} +}} # kernel_devel_rpm: Name of the kernel development RPM. -%{?kernel_rpm:%define kernel_devel_rpm %{kernel_rpm}-devel} +%if 0%{?kernel_rpm:1} +%if %([ %{kernel_rpm} = kernel-plus-core ]; echo $((1-$?))) +# CentOSPlus +%define kernel_devel_rpm kernel-plus-devel +%else +%if %([ %{kernel_rpm} = kernel-core ]; echo $((1-$?))) +# Fedora +%define kernel_devel_rpm kernel-devel +%else +# Other Linux distros +%define kernel_devel_rpm %{kernel_rpm}-devel +%endif +%endif +%{echo:kernel_devel_rpm=%{kernel_devel_rpm} +} +%endif # Version of the RPM that is being built. %define rpm_version @rpm_version@ # Make command with or without flags. @@ -234,6 +251,8 @@ true /usr/include/scst/scst_user.h %changelog +* Sun Mar 8 2020 Bart Van Assche +- Added support for the CentOSPlus kernel. * Tue Oct 8 2019 Bart Van Assche - Make this spec file compatible with rpmbuild v4.14. * Wed May 6 2015 Bart Van Assche diff --git a/scst.spec.in b/scst.spec.in index fd69d6f33..3e933e090 100644 --- a/scst.spec.in +++ b/scst.spec.in @@ -39,6 +39,10 @@ }} # kernel_devel_rpm: Name of the kernel development RPM. %if 0%{?kernel_rpm:1} +%if %([ %{kernel_rpm} = kernel-plus-core ]; echo $((1-$?))) +# CentOSPlus +%define kernel_devel_rpm kernel-plus-devel +%else %if %([ %{kernel_rpm} = kernel-core ]; echo $((1-$?))) # Fedora %define kernel_devel_rpm kernel-devel @@ -46,6 +50,7 @@ # Other Linux distros %define kernel_devel_rpm %{kernel_rpm}-devel %endif +%endif %{echo:kernel_devel_rpm=%{kernel_devel_rpm} } %endif @@ -193,6 +198,8 @@ rm -rf /usr/local/include/scst /usr/include/scst/scst_user.h %changelog +* Sun Mar 8 2020 Bart Van Assche +- Added support for the CentOSPlus kernel. * Tue Oct 8 2019 Bart Van Assche - Make this spec file compatible with rpmbuild v4.14. * Wed May 6 2015 Bart Van Assche From cd68a96ef9751a0af8f32f45564ef40d9ec5a569 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sun, 8 Mar 2020 20:49:11 +0000 Subject: [PATCH 2/2] scst-dkms.spec.in: Do not install the */conftest/*/*.ko kernel modules git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8834 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst-dkms.spec.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scst-dkms.spec.in b/scst-dkms.spec.in index 2a17815fd..af407f750 100644 --- a/scst-dkms.spec.in +++ b/scst-dkms.spec.in @@ -152,7 +152,7 @@ cat >%{buildroot}/usr/src/%{kmod_name}-%{dkms_version}/dkms.conf <<"EOF" PACKAGE_VERSION="%{dkms_version}" PACKAGE_NAME="%{kmod_name}" AUTOINSTALL=yes -MAKE[0]="export KVER=${kernelver} KDIR=${kernel_source_dir} BUILD_2X_MODULE=y CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA2XXX_TARGET=y && make 2release && make -sC scst && make -sC fcst && make -sC iscsi-scst && make -sC qla2x00t/qla2x00-target && make -sC scst_local && make -sC srpt && cp */*.ko */*/*.ko */*/*/*.ko ." +MAKE[0]="export KVER=${kernelver} KDIR=${kernel_source_dir} BUILD_2X_MODULE=y CONFIG_SCSI_QLA_FC=y CONFIG_SCSI_QLA2XXX_TARGET=y && make 2release && make -sC scst && make -sC fcst && make -sC iscsi-scst && make -sC qla2x00t/qla2x00-target && make -sC scst_local && make -sC srpt && cp */*.ko */*/*.ko *scst*/*/*/*.ko ." CLEAN="make clean" # Remove any existing ib_srpt.ko kernel modules PRE_INSTALL="find /lib/modules/${kernelver} -name ib_srpt.ko -exec rm {} \;"