]>
Commit | Line | Data |
---|---|---|
10946b02 AX |
1 | %bcond_with debug |
2 | %bcond_with debug_log | |
3 | %bcond_with debug_kmem | |
4 | %bcond_with debug_kmem_tracking | |
5 | %bcond_with atomic_spinlocks | |
6 | ||
7 | Name: @PACKAGE@-kmod | |
8 | Version: @VERSION@ | |
9 | Release: @RELEASE@%{?dist} | |
10 | ||
11 | Summary: Kernel module(s) | |
12 | Group: System Environment/Kernel | |
13 | License: GPLv2+ | |
14 | URL: http://zfsonlinux.org/ | |
15 | BuildRequires: %kernel_module_package_buildreqs | |
16 | Source0: @PACKAGE@-%{version}.tar.gz | |
17 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) | |
18 | ||
19 | # Additional dependency information for the kmod sub-package must be specified | |
20 | # by generating a preamble text file which kmodtool can append to the spec file. | |
21 | %(/bin/echo -e "\ | |
22 | Requires: @PACKAGE@ = %{version}\n\ | |
23 | Conflicts: @PACKAGE@-dkms\n\n" > %{_sourcedir}/kmod-preamble) | |
24 | ||
25 | %description | |
26 | This package contains the kernel modules required to emulate | |
27 | several interfaces provided by the Solaris kernel. | |
28 | ||
29 | %define kmod_name spl | |
30 | %define debug_package %{nil} | |
31 | ||
32 | %kernel_module_package -n %{kmod_name} -p %{_sourcedir}/kmod-preamble | |
33 | ||
34 | %define ksrc %{_usrsrc}/kernels/%{kverrel} | |
35 | %define kobj %{ksrc} | |
36 | ||
37 | %package -n kmod-%{kmod_name}-devel | |
38 | Summary: SPL kernel module(s) devel common | |
39 | Group: System Environment/Kernel | |
40 | ||
41 | %description -n kmod-%{kmod_name}-devel | |
42 | This package provides the header files and objects to build kernel modules | |
43 | which depend on the SPL kernel module. | |
44 | ||
45 | %prep | |
46 | if ! [ -d "%{ksrc}" ]; then | |
47 | echo "Kernel build directory isn't set properly, cannot continue" | |
48 | exit 1 | |
49 | fi | |
50 | ||
51 | %if %{with debug} | |
52 | %define debug --enable-debug | |
53 | %else | |
54 | %define debug --disable-debug | |
55 | %endif | |
56 | ||
57 | %if %{with debug_log} | |
58 | %define debug_log --enable-debug-log | |
59 | %else | |
60 | %define debug_log --disable-debug-log | |
61 | %endif | |
62 | ||
63 | %if %{with debug_kmem} | |
64 | %define debug_kmem --enable-debug-kmem | |
65 | %else | |
66 | %define debug_kmem --disable-debug-kmem | |
67 | %endif | |
68 | ||
69 | %if %{with debug_kmem_tracking} | |
70 | %define debug_kmem_tracking --enable-debug-kmem-tracking | |
71 | %else | |
72 | %define debug_kmem_tracking --disable-debug-kmem-tracking | |
73 | %endif | |
74 | ||
75 | %if %{with atomic_spinlocks} | |
76 | %define atomic_spinlocks --enable-atomic-spinlocks | |
77 | %else | |
78 | %define atomic_spinlocks --disable-atomic-spinlocks | |
79 | %endif | |
80 | ||
81 | %setup -n %{kmod_name}-%{version} | |
82 | %build | |
83 | %configure \ | |
84 | --with-config=kernel \ | |
85 | --with-linux=%{ksrc} \ | |
86 | --with-linux-obj=%{kobj} \ | |
87 | %{debug} \ | |
88 | %{debug_log} \ | |
89 | %{debug_kmem} \ | |
90 | %{debug_kmem_tracking} \ | |
91 | %{atomic_spinlocks} | |
92 | make %{?_smp_mflags} | |
93 | ||
94 | %install | |
95 | make install \ | |
96 | DESTDIR=${RPM_BUILD_ROOT} \ | |
97 | INSTALL_MOD_DIR=extra/%{kmod_name} | |
98 | %{__rm} -f %{buildroot}/lib/modules/%{kverrel}/modules.* | |
99 | ||
100 | %clean | |
101 | rm -rf $RPM_BUILD_ROOT | |
102 | ||
103 | %files -n kmod-%{kmod_name}-devel | |
104 | %{_usrsrc}/%{kmod_name}-%{version} |