%bcond_with debug %bcond_with debug_dmu_tx %define kernel_version 3.10.0-862.2.3.el7 Name: zfs-kmod Version: 0.7.9 Release: 2%{?dist} Summary: Kernel module(s) Group: System Environment/Kernel License: CDDL URL: http://zfsonlinux.org/ BuildRequires: kernel-devel = %{kernel_version} BuildRequires: kmod-spl-devel = %{version} Source0: zfs-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # Additional dependency information for the kmod sub-package must be specified # by generating a preamble text file which kmodtool can append to the spec file. %(/bin/echo -e "\ Requires: spl-kmod\n\ Requires: zfs = %{version}\n\ Conflicts: zfs-dkms\n\n" > %{_sourcedir}/kmod-preamble) # LDFLAGS are not sanitized by arch/*/Makefile for these architectures. %ifarch ppc ppc64 ppc64le aarch64 %global __global_ldflags %{nil} %endif %description This package contains the ZFS kernel modules. %define kmod_name zfs %kernel_module_package -n %{kmod_name} -p %{_sourcedir}/kmod-preamble %define ksrc %{_usrsrc}/kernels/%{kverrel} %define kobj %{ksrc} %define splsrc %{_usrsrc}/spl-%{version} %define splobj %{splsrc}/%{kverrel} %package -n kmod-%{kmod_name}-devel Summary: ZFS kernel module(s) devel common Group: System Environment/Kernel Requires: kmod-spl-devel = %{version} %description -n kmod-%{kmod_name}-devel This package provides the header files and objects to build kernel modules which depend on the spl kernel module. %prep if ! [ -d "%{ksrc}" ]; then echo "Kernel build directory isn't set properly, cannot continue" exit 1 fi %if %{with debug} %define debug --enable-debug %else %define debug --disable-debug %endif %if %{with debug_dmu_tx} %define debug_dmu_tx --enable-debug-dmu-tx %else %define debug_dmu_tx --disable-debug-dmu-tx %endif %setup -n %{kmod_name}-%{version} %build %configure \ --with-config=kernel \ --with-linux=%{ksrc} \ --with-linux-obj=%{kobj} \ --with-spl="%{splsrc}" \ --with-spl-obj="%{splobj}" \ %{debug} \ %{debug_dmu_tx} make %{?_smp_mflags} %install make install \ DESTDIR=${RPM_BUILD_ROOT} \ INSTALL_MOD_DIR=extra/%{kmod_name} %{__rm} -f %{buildroot}/lib/modules/%{kverrel}/modules.* # find-debuginfo.sh only considers executables %{__chmod} u+x %{buildroot}/lib/modules/%{kverrel}/extra/*/*/* %clean rm -rf $RPM_BUILD_ROOT %post /sbin/depmod -a %{kernel_version}.%{_arch} %files -n kmod-%{kmod_name}-devel %{_usrsrc}/%{kmod_name}-%{version}