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
33 BuildRequires: spl-devel-kmod = %{version}-%{release}
35 %global KmodsBuildRequires spl-devel-kmod
36 %global KmodsRequires kmod-spl
38 %{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} }
44 # Kmodtool does its magic here. A patched version of kmodtool is shipped
45 # with the source rpm until kmod development packages are supported upstream.
46 # https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
47 %{expand:%(sh %{SOURCE10} --target %{_target_cpu} --repo %{repo} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev/null) }
51 This package contains the ZFS kernel modules.
54 # Error out if there was something wrong with kmodtool.
57 # Print kmodtool output for debugging purposes:
58 sh %{SOURCE10} --target %{_target_cpu} --repo %{repo} --kmodname %{name} --devel %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} %{?kernelbuildroot:--buildroot "%{?kernelbuildroot}"} 2>/dev/null
61 %define debug --enable-debug
63 %define debug --disable-debug
66 %if %{with debug_dmu_tx}
67 %define debug_dmu_tx --enable-debug-dmu-tx
69 %define debug_dmu_tx --disable-debug-dmu-tx
73 # Allow the overriding of spl locations
75 %if %{defined require_splver}
76 %define splver %{require_splver}
78 %define splver %{version}
81 %if %{defined require_spldir}
82 %define spldir %{require_spldir}
84 %define spldir %{_usrsrc}/spl-%{splver}
87 %if %{defined require_splobj}
88 %define splobj %{require_splobj}
90 %define splobj %{spldir}/${kernel_version%%___*}
94 # Leverage VPATH from configure to avoid making multiple copies.
95 %define _configure ../%{module}-%{version}/configure
99 for kernel_version in %{?kernel_versions}; do
100 %{__mkdir} _kmod_build_${kernel_version%%___*}
104 for kernel_version in %{?kernel_versions}; do
105 pushd _kmod_build_${kernel_version%%___*}
107 --with-config=kernel \
108 --with-linux="${kernel_version##*___}" \
109 --with-linux-obj="${kernel_version##*___}" \
110 --with-spl="%{spldir}" \
111 --with-spl-obj="%{splobj}" \
120 rm -rf ${RPM_BUILD_ROOT}
122 # Relies on the kernel 'modules_install' make target.
123 for kernel_version in %{?kernel_versions}; do
124 pushd _kmod_build_${kernel_version%%___*}
126 DESTDIR=${RPM_BUILD_ROOT} \
127 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
128 INSTALL_MOD_DIR=%{kmodinstdir_postfix}
131 chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
136 rm -rf $RPM_BUILD_ROOT
139 * Fri Mar 22 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.1-1
140 - First official stable release.