mirror of
https://github.com/versity/scoutfs.git
synced 2026-01-03 10:55:20 +00:00
The rpmbuild support files no longer define the previously used kernel module macros. This carves out the differences between el7 and el8 with conditionals based on the distro we are building for. Signed-off-by: Ben McClelland <ben.mcclelland@versity.com>
107 lines
2.4 KiB
RPMSpec
107 lines
2.4 KiB
RPMSpec
%define kmod_name scoutfs
|
|
%define kmod_version @@VERSION@@
|
|
%define kmod_git_hash @@GITHASH@@
|
|
%define pkg_date %(date +%%Y%%m%%d)
|
|
|
|
# Disable the building of the debug package(s).
|
|
%define debug_package %{nil}
|
|
|
|
# take kernel version or default to uname -r
|
|
%{!?kversion: %global kversion %(uname -r)}
|
|
%global kernel_version %{kversion}
|
|
|
|
%if 0%{?el7}
|
|
%global kernel_source() /usr/src/kernels/%{kernel_version}.$(arch)
|
|
%endif
|
|
%if 0%{?el8}
|
|
%global kernel_source() /usr/src/kernels/%{kernel_version}
|
|
%endif
|
|
|
|
%{!?_release: %global _release 0.%{pkg_date}git%{kmod_git_hash}}
|
|
|
|
%if 0%{?el7}
|
|
Name: %{kmod_name}
|
|
%endif
|
|
%if 0%{?el8}
|
|
Name: kmod-%{kmod_name}
|
|
%endif
|
|
Summary: %{kmod_name} kernel module
|
|
Version: %{kmod_version}
|
|
Release: %{_release}%{?dist}
|
|
License: GPLv2
|
|
Group: System/Kernel
|
|
URL: http://scoutfs.org/
|
|
|
|
%if 0%{?el7}
|
|
BuildRequires: %{kernel_module_package_buildreqs}
|
|
%endif
|
|
%if 0%{?el8}
|
|
BuildRequires: elfutils-libelf-devel
|
|
%endif
|
|
BuildRequires: kernel-devel-uname-r = %{kernel_version}
|
|
BuildRequires: git
|
|
BuildRequires: module-init-tools
|
|
|
|
ExclusiveArch: x86_64
|
|
|
|
Source: %{kmod_name}-kmod-%{kmod_version}.tar
|
|
|
|
%if 0%{?el7}
|
|
# Build only for standard kernel variant(s); for debug packages, append "debug"
|
|
# after "default" (separated by space)
|
|
%kernel_module_package default
|
|
%endif
|
|
|
|
%global install_mod_dir extra/%{kmod_name}
|
|
%if 0%{?el8}
|
|
%global flavors_to_build x86_64
|
|
%endif
|
|
|
|
%description
|
|
%{kmod_name} - kernel module
|
|
|
|
|
|
%prep
|
|
%setup -q -n %{kmod_name}-kmod-%{kmod_version}
|
|
|
|
set -- *
|
|
mkdir source
|
|
mv "$@" source/
|
|
mkdir obj
|
|
|
|
|
|
%build
|
|
echo "Building for kernel: %{kernel_version} flavors: '%{flavors_to_build}'"
|
|
for flavor in %flavors_to_build; do
|
|
rm -rf obj/$flavor
|
|
cp -r source obj/$flavor
|
|
make SK_KSRC=%{kernel_source $flavor} -C obj/$flavor module
|
|
done
|
|
|
|
%install
|
|
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
|
|
export INSTALL_MOD_DIR=%{install_mod_dir}
|
|
mkdir -p %{install_mod_dir}
|
|
for flavor in %{flavors_to_build}; do
|
|
export KSRC=%{kernel_source $flavor}
|
|
export KVERSION=%{kversion}
|
|
install -d $INSTALL_MOD_PATH/lib/modules/$KVERSION/%{install_mod_dir}
|
|
cp $PWD/obj/$flavor/src/scoutfs.ko $INSTALL_MOD_PATH/lib/modules/$KVERSION/%{install_mod_dir}/
|
|
done
|
|
|
|
# mark modules executable so that strip-to-file can strip them
|
|
find %{buildroot} -type f -name \*.ko -exec %{__chmod} u+x \{\} \;
|
|
|
|
%if 0%{?el8}
|
|
%files
|
|
/lib/modules
|
|
|
|
%post
|
|
weak-modules --add-kernel --no-initramfs
|
|
depmod -a
|
|
%endif
|
|
|
|
%clean
|
|
rm -rf %{buildroot}
|
|
|