1 %define module @PACKAGE@
4 %define buildforkernels newest
5 #define buildforkernels current
6 #define buildforkernels akmod
9 %bcond_with debug_dmu_tx
15 Release: @RELEASE@
%{?dist}
16 Summary: Kernel module
(s
)
18 Group: System Environment
/Kernel
19 License: @ZFS_META_LICENSE@
20 URL: http
://zfsonlinux.org
/
21 Source0: %{module}-%{version}.tar.gz
23 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n
)
24 ExclusiveArch: i586 i686 x86_64
26 # Likely compiles but is not supported.
27 ExcludeArch: ppc ppc64
29 # The developments headers will conflict with the dkms packages.
30 Conflicts: %{module}-dkms
32 BuildRequires
: %{_bindir}/kmodtool
34 %global KmodsBuildRequires kmod
-spl
-devel
35 %global KmodsRequires kmod
-spl
37 %{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} }
43 # Kmodtool does its magic here. A patched version of kmodtool is shipped
44 # with the source rpm until kmod development packages are supported upstream.
45 # https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
46 %{expand:%(sh %{SOURCE10} --target %{_target_cpu} --repo %{repo} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
50 This package contains the ZFS kernel modules.
53 # Error out if there was something wrong with kmodtool.
56 # Print kmodtool output for debugging purposes:
57 sh
%{SOURCE10} --target %{_target_cpu} --repo %{repo} --kmodname %{name} --devel %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev
/null
60 %define debug
--enable-debug
62 %define debug
--disable
-debug
65 %if %{with debug_dmu_tx}
66 %define debug_dmu_tx
--enable-debug
-dmu
-tx
68 %define debug_dmu_tx
--disable
-debug
-dmu
-tx
71 # Leverage VPATH from configure to avoid making multiple copies.
72 %define _configure ..
/%{module}-%{version}/configure
76 for kernel_version
in %{?kernel_versions}; do
77 %{__mkdir} _kmod_build_${kernel_version%%___*}
81 for kernel_version
in %{?kernel_versions}; do
82 pushd _kmod_build_$
{kernel_version%
%___*}
84 --with
-config
=kernel \
85 --with
-linux
="$
{kernel_version
##*___}" \
86 --with
-linux
-obj
="$
{kernel_version
##*___}" \
87 --with
-spl
="
/usr
/src
/spl
-%{version}" \
88 --with
-spl
-obj
="
/usr
/src
/spl
-%{version}/${kernel_version%%___*}" \
97 rm -rf $
{RPM_BUILD_ROOT
}
99 # Relies on the kernel 'modules_install' make target.
100 for kernel_version
in %{?kernel_versions}; do
101 pushd _kmod_build_$
{kernel_version%
%___*}
103 DESTDIR
=$
{RPM_BUILD_ROOT
} \
104 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
105 INSTALL_MOD_DIR
=%{kmodinstdir_postfix}
108 chmod u
+x $
{RPM_BUILD_ROOT
}%{kmodinstdir_prefix}/*/extra
/*/*/*
113 rm -rf $RPM_BUILD_ROOT
116 * Tue Mar
12 2013 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.0-1
117 - Initial kmods2 packaging.