]> git.proxmox.com Git - mirror_spl.git/blob - rpm/redhat/spl-kmod.spec.in
6fcc4a898b55dcfe82ba1ad0bf3b43a546d77f57
[mirror_spl.git] / rpm / redhat / spl-kmod.spec.in
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}