]> git.proxmox.com Git - mirror_spl-debian.git/blame - rpm/generic/spl-kmod.spec.in
New upstream version 0.7.11
[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 55
ec06701b
AX
56# LDFLAGS are not sanitized by arch/*/Makefile for these architectures.
57%ifarch ppc ppc64 ppc64le aarch64
2ea56c1d
AX
58%global __global_ldflags %{nil}
59%endif
60
493972c8
BB
61%if 0%{?fedora} >= 17
62%define prefix /usr
63%endif
64
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
80093b6f 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) }
493972c8
BB
69
70
71%description
72This package contains the kernel modules required to emulate
73several interfaces provided by the Solaris kernel.
74
75%prep
76# Error out if there was something wrong with kmodtool.
77%{?kmodtool_check}
78
79# Print kmodtool output for debugging purposes:
80093b6f 80bash %{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
81
82%if %{with debug}
83 %define debug --enable-debug
84%else
85 %define debug --disable-debug
86%endif
87
88%if %{with debug_log}
89 %define debug_log --enable-debug-log
90%else
91 %define debug_log --disable-debug-log
92%endif
93
94%if %{with debug_kmem}
95 %define debug_kmem --enable-debug-kmem
96%else
97 %define debug_kmem --disable-debug-kmem
98%endif
99
100%if %{with debug_kmem_tracking}
101 %define debug_kmem_tracking --enable-debug-kmem-tracking
102%else
103 %define debug_kmem_tracking --disable-debug-kmem-tracking
104%endif
105
106%if %{with atomic_spinlocks}
107 %define atomic_spinlocks --enable-atomic-spinlocks
108%else
109 %define atomic_spinlocks --disable-atomic-spinlocks
110%endif
111
112# Leverage VPATH from configure to avoid making multiple copies.
113%define _configure ../%{module}-%{version}/configure
114
115%setup -q -c -T -a 0
116
117for kernel_version in %{?kernel_versions}; do
118 %{__mkdir} _kmod_build_${kernel_version%%___*}
119done
120
121%build
122for kernel_version in %{?kernel_versions}; do
123 cd _kmod_build_${kernel_version%%___*}
124 %configure \
125 --with-config=kernel \
126%if 0%{?rhel}%{?fedora}
127 --with-linux="${kernel_version##*___}" \
128 --with-linux-obj="${kernel_version##*___}" \
129%else
80093b6f
AX
130 --with-linux="$( \
131 if [ -e "/lib/modules/${kernel_version%%___*}/source" ]; then \
132 echo "/lib/modules/${kernel_version%%___*}/source"; \
493972c8 133 else \
80093b6f
AX
134 echo "/lib/modules/${kernel_version%%___*}/build"; \
135 fi)" \
493972c8
BB
136 --with-linux-obj="/lib/modules/${kernel_version%%___*}/build" \
137%endif
138 %{debug} \
139 %{debug_log} \
140 %{debug_kmem} \
141 %{debug_kmem_tracking} \
142 %{atomic_spinlocks}
143 make %{?_smp_mflags}
144 cd ..
145done
146
147
148%install
149rm -rf ${RPM_BUILD_ROOT}
150
151# Relies on the kernel 'modules_install' make target.
152for kernel_version in %{?kernel_versions}; do
153 cd _kmod_build_${kernel_version%%___*}
154 make install \
155 DESTDIR=${RPM_BUILD_ROOT} \
156 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
157 INSTALL_MOD_DIR=%{kmodinstdir_postfix}
158 cd ..
159done
81dab2ed
AX
160
161# find-debuginfo.sh only considers executables
493972c8
BB
162chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
163%{?akmod_install}
164
165
166%clean
167rm -rf $RPM_BUILD_ROOT
168
169%changelog
b97c7791
MZ
170* Thu Sep 13 2018 Tony Hutter <hutter2@llnl.gov> - 0.7.11-1
171- Released 0.7.11-1, detailed release notes are available at:
172- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.11
173* Wed Sep 05 2018 Tony Hutter <hutter2@llnl.gov> - 0.7.10-1
174- Released 0.7.10-1, detailed release notes are available at:
175- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.10
74894160
AX
176* Tue May 08 2018 Tony Hutter <hutter2@llnl.gov> - 0.7.9-1
177- Released 0.7.9-1, detailed release notes are available at:
178- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.9
34ee731f
AX
179* Mon Apr 09 2018 Tony Hutter <hutter2@llnl.gov> - 0.7.8-1
180- Released 0.7.8-1, detailed release notes are available at:
181- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.8
182* Wed Mar 14 2018 Tony Hutter <hutter2@llnl.gov> - 0.7.7-1
183- Released 0.7.7-1, detailed release notes are available at:
184- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.7
f3bc16ff
AX
185* Thu Feb 01 2018 Tony Hutter <hutter2@llnl.gov> - 0.7.6-1
186- Released 0.7.6-1, detailed release notes are available at:
187- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.6
e7fddec4
AX
188* Mon Dec 18 2017 Tony Hutter <hutter2@llnl.gov> - 0.7.5-1
189- Released 0.7.5-1, detailed release notes are available at:
190- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.5
99d6d8dc
AX
191* Thu Dec 07 2017 Tony Hutter <hutter2@llnl.gov> - 0.7.4-1
192- Released 0.7.4-1, detailed release notes are available at:
193- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.4
4a691129
AX
194* Wed Oct 18 2017 Tony Hutter <hutter2@llnl.gov> - 0.7.3-1
195- Released 0.7.3-1, detailed release notes are available at:
196- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.3
ec06701b
AX
197* Fri Sep 22 2017 Tony Hutter <hutter2@llnl.gov> - 0.7.2-1
198- Released 0.7.2-1, detailed release notes are available at:
199- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.2
200* Tue Aug 8 2017 Tony Hutter <hutter2@llnl.gov> - 0.7.1-1
201- Released 0.7.1-1, detailed release notes are available at:
202- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.1
203* Wed Jul 26 2017 Brian Behlendorf <behlendorf1@llnl.gov> - 0.7.0-1
204- Released 0.7.0-1, detailed release notes are available at:
205- https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.7.0