]> git.proxmox.com Git - mirror_spl-debian.git/blob - rpm/fedora/spl-kmod.spec.in
f83ff60c14314e02b26c07c7e4ce5b9f05fe25a8
[mirror_spl-debian.git] / rpm / fedora / spl-kmod.spec.in
1 %define module @PACKAGE@
2 %define repo rpmfusion
3
4 %define buildforkernels newest
5 #define buildforkernels current
6 #define buildforkernels akmod
7
8 %bcond_with debug
9 %bcond_with debug_log
10 %bcond_with debug_kmem
11 %bcond_with debug_kmem_tracking
12 %bcond_with atomic_spinlocks
13
14
15 Name: %{module}-kmod
16
17 Version: @VERSION@
18 Release: @RELEASE@%{?dist}
19 Summary: Kernel module(s)
20
21 Group: System Environment/Kernel
22 License: GPLv2+
23 URL: http://zfsonlinux.org/
24 Source0: %{module}-%{version}.tar.gz
25 Source10: kmodtool
26
27 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
28 ExclusiveArch: i586 i686 x86_64
29
30 # Likely compiles but is not supported.
31 ExcludeArch: ppc ppc64
32
33 # The developments headers will conflict with the dkms packages.
34 Conflicts: %{module}-dkms
35
36 BuildRequires: %{_bindir}/kmodtool
37
38 %if 0%{?fedora} >= 17
39 %define prefix /usr
40 %endif
41
42 %{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} }
43
44 # Kmodtool does its magic here. A patched version of kmodtool is shipped
45 # with the source rpm until kmod development packages are supported upstream.
46 # https://bugzilla.rpmfusion.org/show_bug.cgi?id=2714
47 %{expand:%(sh %{SOURCE10} --target %{_target_cpu} --repo %{repo} --kmodname %{name} --devel %{?prefix:--prefix "%{?prefix}"} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
48
49
50 %description
51 This package contains the kernel modules required to emulate
52 several 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:
59 sh %{SOURCE10} --target %{_target_cpu} --repo %{repo} --kmodname %{name} --devel %{?buildforkernels:--%{buildforkernels}} %{?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
96 for kernel_version in %{?kernel_versions}; do
97 %{__mkdir} _kmod_build_${kernel_version%%___*}
98 done
99
100 %build
101 for kernel_version in %{?kernel_versions}; do
102 pushd _kmod_build_${kernel_version%%___*}
103 %configure \
104 --with-config=kernel \
105 --with-linux="${kernel_version##*___}" \
106 --with-linux-obj="${kernel_version##*___}" \
107 %{debug} \
108 %{debug_log} \
109 %{debug_kmem} \
110 %{debug_kmem_tracking} \
111 %{atomic_spinlocks}
112 make %{?_smp_mflags}
113 popd
114 done
115
116
117 %install
118 rm -rf ${RPM_BUILD_ROOT}
119
120 # Relies on the kernel 'modules_install' make target.
121 for kernel_version in %{?kernel_versions}; do
122 pushd _kmod_build_${kernel_version%%___*}
123 make install \
124 DESTDIR=${RPM_BUILD_ROOT} \
125 %{?prefix:INSTALL_MOD_PATH=%{?prefix}} \
126 INSTALL_MOD_DIR=%{kmodinstdir_postfix}
127 popd
128 done
129 chmod u+x ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/*/extra/*/*/*
130 %{?akmod_install}
131
132
133 %clean
134 rm -rf $RPM_BUILD_ROOT
135
136 %changelog
137 * Fri Mar 22 2013 Brian Behlendorf <behlendorf1@llnl.gov> - 0.6.1-1
138 - First official stable release.