1 %define module @PACKAGE@
5 # (un)define the next line to either build for the newest or all current kernels
6 %define buildforkernels newest
7 #define buildforkernels current
8 #define buildforkernels akmod
12 %bcond_with debug_kmem
13 %bcond_with debug_kmem_tracking
14 %bcond_with atomic_spinlocks
20 Release: @RELEASE@
%{?dist}
21 Summary: Kernel module
(s
)
23 Group: System Environment
/Kernel
25 URL: http
://zfsonlinux.org
/
26 Source0: %{module}-%{version}.tar.gz
28 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id} -u
-n
)
30 # The developments headers will conflict with the dkms packages.
31 Conflicts: %{module}-dkms
35 # Building for a repository use the proper build-sysbuild package
36 # to determine which kernel-devel packages should be installed.
37 BuildRequires
: %{_bindir}/kmodtool
38 %{!?kernels:BuildRequires: buildsys-build-%{repo}-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu}}
42 # Building local packages attempt to to use the installed kernel.
43 %{?rhel:BuildRequires: kernel-devel}
44 %{?fedora:BuildRequires: kernel-devel}
45 %{?suse_version:BuildRequires: kernel-source}
47 %if !%{defined kernels} && !%{defined build_src_rpm}
48 %if 0%{?rhel}%{?fedora}%{?suse_version}
49 %define kernels %
(ls
-1 /usr
/src
/kernels
)
51 %define kernels %
(ls
-1 /lib
/modules
)
60 # Kmodtool does its magic here. A patched version of kmodtool is shipped
61 # because the latest versions may not be available for your distribution.
62 # https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
63 %{expand:%(bash %{SOURCE10} --target %{_target_cpu} %{?repo:--repo %{?repo}} --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev/null) }
67 This package contains the kernel modules required to emulate
68 several interfaces provided by the Solaris kernel.
71 # Error out if there was something wrong with kmodtool.
74 # Print kmodtool output for debugging purposes:
75 bash
%{SOURCE10} --target %{_target_cpu} %{?repo:--repo %{?repo}} --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev
/null
78 %define debug
--enable-debug
80 %define debug
--disable
-debug
84 %define debug_log
--enable-debug
-log
86 %define debug_log
--disable
-debug
-log
89 %if %{with debug_kmem}
90 %define debug_kmem
--enable-debug
-kmem
92 %define debug_kmem
--disable
-debug
-kmem
95 %if %{with debug_kmem_tracking}
96 %define debug_kmem_tracking
--enable-debug
-kmem
-tracking
98 %define debug_kmem_tracking
--disable
-debug
-kmem
-tracking
101 %if %{with atomic_spinlocks}
102 %define atomic_spinlocks
--enable-atomic
-spinlocks
104 %define atomic_spinlocks
--disable
-atomic
-spinlocks
107 # Leverage VPATH from configure to avoid making multiple copies.
108 %define _configure ..
/%{module}-%{version}/configure
112 for kernel_version
in %{?kernel_versions}; do
113 %{__mkdir} _kmod_build_${kernel_version%%___*}
117 for kernel_version
in %{?kernel_versions}; do
118 cd _kmod_build_$
{kernel_version%
%___*}
120 --with
-config
=kernel \
121 %if 0%{?rhel}%{?fedora}
122 --with
-linux
="$
{kernel_version
##*___}" \
123 --with
-linux
-obj
="$
{kernel_version
##*___}" \
126 if [ -e "
/lib
/modules
/$
{kernel_version%
%___*}/source"
]; then \
127 echo "
/lib
/modules
/$
{kernel_version%
%___*}/source"
; \
129 echo "
/lib
/modules
/$
{kernel_version%
%___*}/build"
; \
131 --with
-linux
-obj
="
/lib
/modules
/$
{kernel_version%
%___*}/build" \
136 %{debug_kmem_tracking} \
144 rm -rf $
{RPM_BUILD_ROOT
}
146 # Relies on the kernel 'modules_install' make target.
147 for kernel_version
in %{?kernel_versions}; do
148 cd _kmod_build_$
{kernel_version%
%___*}
150 DESTDIR
=$
{RPM_BUILD_ROOT
} \
151 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
152 INSTALL_MOD_DIR
=%{kmodinstdir_postfix}
155 chmod u
+x $
{RPM_BUILD_ROOT
}%{kmodinstdir_prefix}/*/extra
/*/*/*
160 rm -rf $RPM_BUILD_ROOT
163 * Wed Apr
8 2015 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.4-1
165 * Thu Jun
12 2014 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.3-1
167 * Wed Aug
21 2013 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.2-1
169 * Fri Mar
22 2013 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.1-1
170 - First official stable release.