]> git.proxmox.com Git - mirror_spl-debian.git/blame - rpm/generic/spl-kmod.spec.in
Provide ${kmodname}-devel-kmod for yum-builddep
[mirror_spl-debian.git] / rpm / generic / spl-kmod.spec.in
CommitLineData
493972c8
BB
1%define module @PACKAGE@
2
3%bcond_with debug
4%bcond_with debug_log
5%bcond_with debug_kmem
6%bcond_with debug_kmem_tracking
7%bcond_with atomic_spinlocks
8
9
10Name: %{module}-kmod
11
12Version: @VERSION@
13Release: @RELEASE@%{?dist}
14Summary: Kernel module(s)
15
16Group: System Environment/Kernel
17License: GPLv2+
18URL: http://zfsonlinux.org/
19Source0: %{module}-%{version}.tar.gz
20Source10: kmodtool
21BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
22
23# The developments headers will conflict with the dkms packages.
24Conflicts: %{module}-dkms
25
26# Source packages minimally require a kernel-devel dependency.
27%{?rhel:BuildRequires: kernel-devel}
28%{?fedora:BuildRequires: kernel-devel}
29%{?suse_version:BuildRequires: kernel-source}
30
31# Binary packages build against all installed kernels by default.
32%if !%{defined kernels} && !%{defined build_src_rpm}
33 %if 0%{?rhel}%{?fedora}%{?suse_version}
34 %define kernels %(ls -1 /usr/src/kernels)
35 %else
36 %define kernels %(ls -1 /lib/modules)
37 %endif
38%endif
39
40%if 0%{?fedora} >= 17
41%define prefix /usr
42%endif
43
44# Kmodtool does its magic here. A patched version of kmodtool is shipped
45# because the latest versions may not be available for your distribution.
46# https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
47%{expand:%(bash %{SOURCE10} --target %{_target_cpu} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
48
49
50%description
51This package contains the kernel modules required to emulate
52several interfaces provided by the Solaris kernel.
53
54%prep
55# Error out if there was something wrong with kmodtool.
56%{?kmodtool_check}
57
58# Print kmodtool output for debugging purposes:
59bash %{SOURCE10} --target %{_target_cpu} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
60
61%if %{with debug}
62 %define debug --enable-debug
63%else
64 %define debug --disable-debug
65%endif
66
67%if %{with debug_log}
68 %define debug_log --enable-debug-log
69%else
70 %define debug_log --disable-debug-log
71%endif
72
73%if %{with debug_kmem}
74 %define debug_kmem --enable-debug-kmem
75%else
76 %define debug_kmem --disable-debug-kmem
77%endif
78
79%if %{with debug_kmem_tracking}
80 %define debug_kmem_tracking --enable-debug-kmem-tracking
81%else
82 %define debug_kmem_tracking --disable-debug-kmem-tracking
83%endif
84
85%if %{with atomic_spinlocks}
86 %define atomic_spinlocks --enable-atomic-spinlocks
87%else
88 %define atomic_spinlocks --disable-atomic-spinlocks
89%endif
90
91# Leverage VPATH from configure to avoid making multiple copies.
92%define _configure ../%{module}-%{version}/configure
93
94%setup -q -c -T -a 0
95
96for kernel_version in %{?kernel_versions}; do
97 %{__mkdir} _kmod_build_${kernel_version%%___*}
98done
99
100%build
101for kernel_version in %{?kernel_versions}; do
102 cd _kmod_build_${kernel_version%%___*}
103 %configure \
104 --with-config=kernel \
105%if 0%{?rhel}%{?fedora}
106 --with-linux="${kernel_version##*___}" \
107 --with-linux-obj="${kernel_version##*___}" \
108%else
109 --with-linux=\
110 %(if [ -e /lib/modules/${kernel_version%%___*}/source ]; then \
111 echo "/lib/modules/${kernel_version%%___*}/source" \
112 else \
113 echo "/lib/modules/${kernel_version%%___*}/build" \
114 fi) \
115 --with-linux-obj="/lib/modules/${kernel_version%%___*}/build" \
116%endif
117 %{debug} \
118 %{debug_log} \
119 %{debug_kmem} \
120 %{debug_kmem_tracking} \
121 %{atomic_spinlocks}
122 make %{?_smp_mflags}
123 cd ..
124done
125
126
127%install
128rm -rf ${RPM_BUILD_ROOT}
129
130# Relies on the kernel 'modules_install' make target.
131for kernel_version in %{?kernel_versions}; do
132 cd _kmod_build_${kernel_version%%___*}
133 make install \
134 DESTDIR=${RPM_BUILD_ROOT} \
135 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
136 INSTALL_MOD_DIR=%{kmodinstdir_postfix}
137 cd ..
138done
139chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
140%{?akmod_install}
141
142
143%clean
144rm -rf $RPM_BUILD_ROOT
145
146%changelog
147* Tue Mar 12 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.0-1
148- Initial kmods2 packaging.