]> git.proxmox.com Git - mirror_spl-debian.git/blame - rpm/generic/spl-kmod.spec.in
Imported Upstream version 0.6.5.6
[mirror_spl-debian.git] / rpm / generic / spl-kmod.spec.in
CommitLineData
493972c8 1%define module @PACKAGE@
80093b6f
AX
2#define repo rpmfusion
3#define repo chaos
4
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
493972c8
BB
9
10%bcond_with debug
11%bcond_with debug_log
12%bcond_with debug_kmem
13%bcond_with debug_kmem_tracking
14%bcond_with atomic_spinlocks
15
16
17Name: %{module}-kmod
18
19Version: @VERSION@
20Release: @RELEASE@%{?dist}
21Summary: Kernel module(s)
22
23Group: System Environment/Kernel
24License: GPLv2+
25URL: http://zfsonlinux.org/
26Source0: %{module}-%{version}.tar.gz
27Source10: kmodtool
80093b6f 28BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id} -u -n)
493972c8
BB
29
30# The developments headers will conflict with the dkms packages.
31Conflicts: %{module}-dkms
32
80093b6f
AX
33%if %{defined repo}
34
35# Building for a repository use the proper build-sysbuild package
36# to determine which kernel-devel packages should be installed.
37BuildRequires: %{_bindir}/kmodtool
38%{!?kernels:BuildRequires: buildsys-build-%{repo}-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu}}
39
40%else
41
42# Building local packages attempt to to use the installed kernel.
493972c8
BB
43%{?rhel:BuildRequires: kernel-devel}
44%{?fedora:BuildRequires: kernel-devel}
45%{?suse_version:BuildRequires: kernel-source}
46
493972c8
BB
47%if !%{defined kernels} && !%{defined build_src_rpm}
48 %if 0%{?rhel}%{?fedora}%{?suse_version}
49 %define kernels %(ls -1 /usr/src/kernels)
50 %else
51 %define kernels %(ls -1 /lib/modules)
52 %endif
53%endif
80093b6f 54%endif
493972c8
BB
55
56%if 0%{?fedora} >= 17
57%define prefix /usr
58%endif
59
60# Kmodtool does its magic here. A patched version of kmodtool is shipped
61# because the latest versions may not be available for your distribution.
62# https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
80093b6f 63%{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) }
493972c8
BB
64
65
66%description
67This package contains the kernel modules required to emulate
68several interfaces provided by the Solaris kernel.
69
70%prep
71# Error out if there was something wrong with kmodtool.
72%{?kmodtool_check}
73
74# Print kmodtool output for debugging purposes:
80093b6f 75bash %{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
493972c8
BB
76
77%if %{with debug}
78 %define debug --enable-debug
79%else
80 %define debug --disable-debug
81%endif
82
83%if %{with debug_log}
84 %define debug_log --enable-debug-log
85%else
86 %define debug_log --disable-debug-log
87%endif
88
89%if %{with debug_kmem}
90 %define debug_kmem --enable-debug-kmem
91%else
92 %define debug_kmem --disable-debug-kmem
93%endif
94
95%if %{with debug_kmem_tracking}
96 %define debug_kmem_tracking --enable-debug-kmem-tracking
97%else
98 %define debug_kmem_tracking --disable-debug-kmem-tracking
99%endif
100
101%if %{with atomic_spinlocks}
102 %define atomic_spinlocks --enable-atomic-spinlocks
103%else
104 %define atomic_spinlocks --disable-atomic-spinlocks
105%endif
106
107# Leverage VPATH from configure to avoid making multiple copies.
108%define _configure ../%{module}-%{version}/configure
109
110%setup -q -c -T -a 0
111
112for kernel_version in %{?kernel_versions}; do
113 %{__mkdir} _kmod_build_${kernel_version%%___*}
114done
115
116%build
117for kernel_version in %{?kernel_versions}; do
118 cd _kmod_build_${kernel_version%%___*}
119 %configure \
120 --with-config=kernel \
121%if 0%{?rhel}%{?fedora}
122 --with-linux="${kernel_version##*___}" \
123 --with-linux-obj="${kernel_version##*___}" \
124%else
80093b6f
AX
125 --with-linux="$( \
126 if [ -e "/lib/modules/${kernel_version%%___*}/source" ]; then \
127 echo "/lib/modules/${kernel_version%%___*}/source"; \
493972c8 128 else \
80093b6f
AX
129 echo "/lib/modules/${kernel_version%%___*}/build"; \
130 fi)" \
493972c8
BB
131 --with-linux-obj="/lib/modules/${kernel_version%%___*}/build" \
132%endif
133 %{debug} \
134 %{debug_log} \
135 %{debug_kmem} \
136 %{debug_kmem_tracking} \
137 %{atomic_spinlocks}
138 make %{?_smp_mflags}
139 cd ..
140done
141
142
143%install
144rm -rf ${RPM_BUILD_ROOT}
145
146# Relies on the kernel 'modules_install' make target.
147for kernel_version in %{?kernel_versions}; do
148 cd _kmod_build_${kernel_version%%___*}
149 make install \
150 DESTDIR=${RPM_BUILD_ROOT} \
151 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
152 INSTALL_MOD_DIR=%{kmodinstdir_postfix}
153 cd ..
154done
81dab2ed
AX
155
156# find-debuginfo.sh only considers executables
493972c8
BB
157chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
158%{?akmod_install}
159
160
161%clean
162rm -rf $RPM_BUILD_ROOT
163
164%changelog
0480cc58
AX
165* Tue Mar 22 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.6-1
166- Remove artificial architecture restrictions in packaging
167- Add support for s390[x] zfsonlinux/spl#537
81dab2ed
AX
168* Wed Mar 9 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.5-1
169- Linux 4.5 compatibility zfsonlinux/spl#524
170- Create working debuginfo packages on Red Hat zfsonlinux/zfs#4224
171- Allow copy-builtin to run multiple times zfsonlinux/spl#526
172- Use safer flags for in-kernel memory allocations zfsonlinux/spl#523
173- Fix potential deadlock in cv_wait() zfsonlinux/zfs#4106
174- Fix livelock in shrinker zfsonlinux/zfs#3936
879bbbc7
AX
175* Fri Jan 8 2016 Ned Bass <bass6@llnl.gov> - 0.6.5.4-1
176- Build fixes on SPARC and some kernels
177- Fix taskq dynamic spawning deadlock
178- Fix builtin kernel builds
179- Fix crash due to overflow in P2ROUNDUP macro
180- Fix deadlock during direct memory reclaim
f6188ddd
AX
181* Tue Oct 13 2015 Ned Bass <bass6@llnl.gov> - 0.6.5.3-1
182- Fix CPU hotplug zfsonlinux/spl#482
183- Disable dynamic taskqs by default to avoid deadlock zfsonlinux/spl#484
184* Tue Sep 29 2015 Ned Bass <bass6@llnl.gov> - 0.6.5.2-1
185- Released 0.6.5.2-1
186- Fix PAX Patch/Grsec SLAB_USERCOPY panic zfsonlinux/zfs#3796
187- Always remove during dkms uninstall/update zfsonlinux/spl#476
188* Thu Sep 19 2015 Ned Bass <bass6@llnl.gov> - 0.6.5.1-1
189- Released 0.6.5.1-1, no changes from spl-0.6.5
190* Thu Sep 10 2015 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.5-1
191- Released 0.6.5-1, detailed release notes are available at:
192- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.6.5
10946b02
AX
193* Wed Apr 8 2015 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.4-1
194- Released 0.6.4-1
9e4fb5c2
LG
195* Thu Jun 12 2014 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.3-1
196- Released 0.6.3-1
80093b6f
AX
197* Wed Aug 21 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.2-1
198- Released 0.6.2-1
33a20369 199* Fri Mar 22 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.1-1
6385874d 200- First official stable release.