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
)
56 # LDFLAGS are not sanitized by arch/powerpc/Makefile (unlike other arches)
57 %ifarch ppc ppc64 ppc64le
58 %global __global_ldflags
%{nil}
65 # Kmodtool does its magic here. A patched version of kmodtool is shipped
66 # because the latest versions may not be available for your distribution.
67 # https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
68 %{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) }
72 This package contains the kernel modules required to emulate
73 several interfaces provided by the Solaris kernel.
76 # Error out if there was something wrong with kmodtool.
79 # Print kmodtool output for debugging purposes:
80 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
83 %define debug
--enable-debug
85 %define debug
--disable
-debug
89 %define debug_log
--enable-debug
-log
91 %define debug_log
--disable
-debug
-log
94 %if %{with debug_kmem}
95 %define debug_kmem
--enable-debug
-kmem
97 %define debug_kmem
--disable
-debug
-kmem
100 %if %{with debug_kmem_tracking}
101 %define debug_kmem_tracking
--enable-debug
-kmem
-tracking
103 %define debug_kmem_tracking
--disable
-debug
-kmem
-tracking
106 %if %{with atomic_spinlocks}
107 %define atomic_spinlocks
--enable-atomic
-spinlocks
109 %define atomic_spinlocks
--disable
-atomic
-spinlocks
112 # Leverage VPATH from configure to avoid making multiple copies.
113 %define _configure ..
/%{module}-%{version}/configure
117 for kernel_version
in %{?kernel_versions}; do
118 %{__mkdir} _kmod_build_${kernel_version%%___*}
122 for kernel_version
in %{?kernel_versions}; do
123 cd _kmod_build_$
{kernel_version%
%___*}
125 --with
-config
=kernel \
126 %if 0%{?rhel}%{?fedora}
127 --with
-linux
="$
{kernel_version
##*___}" \
128 --with
-linux
-obj
="$
{kernel_version
##*___}" \
131 if [ -e "
/lib
/modules
/$
{kernel_version%
%___*}/source"
]; then \
132 echo "
/lib
/modules
/$
{kernel_version%
%___*}/source"
; \
134 echo "
/lib
/modules
/$
{kernel_version%
%___*}/build"
; \
136 --with
-linux
-obj
="
/lib
/modules
/$
{kernel_version%
%___*}/build" \
141 %{debug_kmem_tracking} \
149 rm -rf $
{RPM_BUILD_ROOT
}
151 # Relies on the kernel 'modules_install' make target.
152 for kernel_version
in %{?kernel_versions}; do
153 cd _kmod_build_$
{kernel_version%
%___*}
155 DESTDIR
=$
{RPM_BUILD_ROOT
} \
156 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
157 INSTALL_MOD_DIR
=%{kmodinstdir_postfix}
161 # find-debuginfo.sh only considers executables
162 chmod u
+x $
{RPM_BUILD_ROOT
}%{kmodinstdir_prefix}/*/extra
/*/*/*
167 rm -rf $RPM_BUILD_ROOT
170 * Thu Sep
10 2015 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.5-1
171 - Released
0.6.5-1, detailed release notes are available at
:
172 - https
://github.com
/zfsonlinux
/zfs
/releases
/tag
/zfs
-0.6.5
173 * Wed Apr
8 2015 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.4-1
175 * Thu Jun
12 2014 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.3-1
177 * Wed Aug
21 2013 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.2-1
179 * Fri Mar
22 2013 Brian Behlendorf
<behlendorf1@llnl.gov
> - 0.6.1-1
180 - First official stable release.