1 %define module @PACKAGE@
6 %bcond_with debug_kmem_tracking
7 %bcond_with atomic_spinlocks
13 Release: @RELEASE@
%{?dist}
14 Summary: Kernel module
(s
)
16 Group: System Environment
/Kernel
18 URL: http
://zfsonlinux.org
/
19 Source0: %{module}-%{version}.tar.gz
21 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n
)
23 # The developments headers will conflict with the dkms packages.
24 Conflicts: %{module}-dkms
26 # Source packages minimally require a kernel-devel dependency.
27 %{?rhel:BuildRequires: kernel-devel}
28 %{?fedora:BuildRequires: kernel-devel}
29 %{?suse_version:BuildRequires: kernel-source}
31 # Binary packages build against all installed kernels by default.
32 %if !%{defined kernels} && !%{defined build_src_rpm}
33 %if 0%{?rhel}%{?fedora}%{?suse_version}
34 %define kernels %
(ls
-1 /usr
/src
/kernels
)
36 %define kernels %
(ls
-1 /lib
/modules
)
44 # Kmodtool does its magic here. A patched version of kmodtool is shipped
45 # because the latest versions may not be available for your distribution.
46 # https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
47 %{expand:%(bash %{SOURCE10} --target %{_target_cpu} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
51 This package contains the kernel modules required to emulate
52 several interfaces provided by the Solaris kernel.
55 # Error out if there was something wrong with kmodtool.
58 # Print kmodtool output for debugging purposes:
59 bash
%{SOURCE10} --target %{_target_cpu} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev
/null
62 %define debug
--enable-debug
64 %define debug
--disable
-debug
68 %define debug_log
--enable-debug
-log
70 %define debug_log
--disable
-debug
-log
73 %if %{with debug_kmem}
74 %define debug_kmem
--enable-debug
-kmem
76 %define debug_kmem
--disable
-debug
-kmem
79 %if %{with debug_kmem_tracking}
80 %define debug_kmem_tracking
--enable-debug
-kmem
-tracking
82 %define debug_kmem_tracking
--disable
-debug
-kmem
-tracking
85 %if %{with atomic_spinlocks}
86 %define atomic_spinlocks
--enable-atomic
-spinlocks
88 %define atomic_spinlocks
--disable
-atomic
-spinlocks
91 # Leverage VPATH from configure to avoid making multiple copies.
92 %define _configure ..
/%{module}-%{version}/configure
96 for kernel_version
in %{?kernel_versions}; do
97 %{__mkdir} _kmod_build_${kernel_version%%___*}
101 for kernel_version
in %{?kernel_versions}; do
102 cd _kmod_build_$
{kernel_version%
%___*}
104 --with
-config
=kernel \
105 %if 0%{?rhel}%{?fedora}
106 --with
-linux
="$
{kernel_version
##*___}" \
107 --with
-linux
-obj
="$
{kernel_version
##*___}" \
110 %
(if [ -e
/lib
/modules
/$
{kernel_version%
%___*}/source ]; then \
111 echo "
/lib
/modules
/$
{kernel_version%
%___*}/source" \
113 echo "
/lib
/modules
/$
{kernel_version%
%___*}/build" \
115 --with
-linux
-obj
="
/lib
/modules
/$
{kernel_version%
%___*}/build" \
120 %{debug_kmem_tracking} \
128 rm -rf $
{RPM_BUILD_ROOT
}
130 # Relies on the kernel 'modules_install' make target.
131 for kernel_version
in %{?kernel_versions}; do
132 cd _kmod_build_$
{kernel_version%
%___*}
134 DESTDIR
=$
{RPM_BUILD_ROOT
} \
135 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
136 INSTALL_MOD_DIR
=%{kmodinstdir_postfix}
139 chmod u
+x $
{RPM_BUILD_ROOT
}%{kmodinstdir_prefix}/*/extra
/*/*/*
144 rm -rf $RPM_BUILD_ROOT
147 * Tue Mar
12 2013 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.0-1
148 - Initial kmods2 packaging.