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
11 %bcond_with debug_dmu_tx
17 Release: @RELEASE@%{?dist}
18 Summary: Kernel module(s)
20 Group: System Environment/Kernel
21 License: @ZFS_META_LICENSE@
22 URL: http://zfsonlinux.org/
23 Source0: %{module}-%{version}.tar.gz
25 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id} -u -n)
27 # The developments headers will conflict with the dkms packages.
28 Conflicts: %{module}-dkms
32 # Building for a repository use the proper build-sysbuild package
33 # to determine which kernel-devel packages should be installed.
34 BuildRequires: %{_bindir}/kmodtool
35 %{!?kernels:BuildRequires: buildsys-build-%{repo}-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu}}
39 # Building local packages attempt to to use the installed kernel.
40 %{?rhel:BuildRequires: kernel-devel}
41 %{?fedora:BuildRequires: kernel-devel}
42 %{?suse_version:BuildRequires: kernel-source}
44 %if !%{defined kernels} && !%{defined build_src_rpm}
45 %if 0%{?rhel}%{?fedora}%{?suse_version}
46 %define kernels %(ls -1 /usr/src/kernels)
48 %define kernels %(ls -1 /lib/modules)
53 %if 0%{?rhel}%{?fedora}%{?suse_version}
54 BuildRequires: kmod-spl-devel = %{version}
55 %global KmodsRequires kmod-spl
56 %global KmodsDevelRequires kmod-spl-devel
57 %global KmodsMetaRequires spl-kmod
64 # Kmodtool does its magic here. A patched version of kmodtool is shipped
65 # with the source rpm until kmod development packages are supported upstream.
66 # https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
67 %{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) }
71 This package contains the ZFS kernel modules.
74 # Error out if there was something wrong with kmodtool.
77 # Print kmodtool output for debugging purposes:
78 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
81 %define debug --enable-debug
83 %define debug --disable-debug
86 %if %{with debug_dmu_tx}
87 %define debug_dmu_tx --enable-debug-dmu-tx
89 %define debug_dmu_tx --disable-debug-dmu-tx
93 # Allow the overriding of spl locations
95 %if %{defined require_splver}
96 %define splver %{require_splver}
98 %define splver %{version}
101 %if %{defined require_spldir}
102 %define spldir %{require_spldir}
104 %define spldir %{_usrsrc}/spl-%{splver}
107 %if %{defined require_splobj}
108 %define splobj %{require_splobj}
110 %define splobj %{spldir}/${kernel_version%%___*}
114 # Leverage VPATH from configure to avoid making multiple copies.
115 %define _configure ../%{module}-%{version}/configure
119 for kernel_version in %{?kernel_versions}; do
120 %{__mkdir} _kmod_build_${kernel_version%%___*}
124 for kernel_version in %{?kernel_versions}; do
125 cd _kmod_build_${kernel_version%%___*}
127 --with-config=kernel \
128 %if 0%{?rhel}%{?fedora}
129 --with-linux="${kernel_version##*___}" \
130 --with-linux-obj="${kernel_version##*___}" \
133 if [ -e "/lib/modules/${kernel_version%%___*}/source" ]; then \
134 echo "/lib/modules/${kernel_version%%___*}/source"; \
136 echo "/lib/modules/${kernel_version%%___*}/build"; \
138 --with-linux-obj="/lib/modules/${kernel_version%%___*}/build" \
140 --with-spl="%{spldir}" \
141 --with-spl-obj="%{splobj}" \
150 rm -rf ${RPM_BUILD_ROOT}
152 # Relies on the kernel 'modules_install' make target.
153 for kernel_version in %{?kernel_versions}; do
154 cd _kmod_build_${kernel_version%%___*}
156 DESTDIR=${RPM_BUILD_ROOT} \
157 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
158 INSTALL_MOD_DIR=%{kmodinstdir_postfix}
161 chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
166 rm -rf $RPM_BUILD_ROOT
169 * Fri Mar 22 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.1-1
170 - First official stable release.