]>
Commit | Line | Data |
---|---|---|
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 | ||
31 | %kernel_module_package -n %{kmod_name} -p %{_sourcedir}/kmod-preamble | |
32 | ||
33 | %define ksrc %{_usrsrc}/kernels/%{kverrel} | |
34 | %define kobj %{ksrc} | |
35 | ||
36 | %package -n kmod-%{kmod_name}-devel | |
37 | Summary: SPL kernel module(s) devel common | |
38 | Group: System Environment/Kernel | |
39 | ||
40 | %description -n kmod-%{kmod_name}-devel | |
41 | This package provides the header files and objects to build kernel modules | |
42 | which depend on the SPL kernel module. | |
43 | ||
44 | %prep | |
45 | if ! [ -d "%{ksrc}" ]; then | |
46 | echo "Kernel build directory isn't set properly, cannot continue" | |
47 | exit 1 | |
48 | fi | |
49 | ||
50 | %if %{with debug} | |
51 | %define debug --enable-debug | |
52 | %else | |
53 | %define debug --disable-debug | |
54 | %endif | |
55 | ||
56 | %if %{with debug_log} | |
57 | %define debug_log --enable-debug-log | |
58 | %else | |
59 | %define debug_log --disable-debug-log | |
60 | %endif | |
61 | ||
62 | %if %{with debug_kmem} | |
63 | %define debug_kmem --enable-debug-kmem | |
64 | %else | |
65 | %define debug_kmem --disable-debug-kmem | |
66 | %endif | |
67 | ||
68 | %if %{with debug_kmem_tracking} | |
69 | %define debug_kmem_tracking --enable-debug-kmem-tracking | |
70 | %else | |
71 | %define debug_kmem_tracking --disable-debug-kmem-tracking | |
72 | %endif | |
73 | ||
74 | %if %{with atomic_spinlocks} | |
75 | %define atomic_spinlocks --enable-atomic-spinlocks | |
76 | %else | |
77 | %define atomic_spinlocks --disable-atomic-spinlocks | |
78 | %endif | |
79 | ||
80 | %setup -n %{kmod_name}-%{version} | |
81 | %build | |
82 | %configure \ | |
83 | --with-config=kernel \ | |
84 | --with-linux=%{ksrc} \ | |
85 | --with-linux-obj=%{kobj} \ | |
86 | %{debug} \ | |
87 | %{debug_log} \ | |
88 | %{debug_kmem} \ | |
89 | %{debug_kmem_tracking} \ | |
90 | %{atomic_spinlocks} | |
91 | make %{?_smp_mflags} | |
92 | ||
93 | %install | |
94 | make install \ | |
95 | DESTDIR=${RPM_BUILD_ROOT} \ | |
96 | INSTALL_MOD_DIR=extra/%{kmod_name} | |
97 | %{__rm} -f %{buildroot}/lib/modules/%{kverrel}/modules.* | |
98 | # find-debuginfo.sh only considers executables | |
99 | %{__chmod} u+x %{buildroot}/lib/modules/%{kverrel}/extra/*/*/* | |
100 | ||
101 | %clean | |
102 | rm -rf $RPM_BUILD_ROOT | |
103 | ||
104 | %files -n kmod-%{kmod_name}-devel | |
105 | %{_usrsrc}/%{kmod_name}-%{version} |