]>
Commit | Line | Data |
---|---|---|
86933a6e BB |
1 | # The following block is used to allow the source RPM to be rebuilt |
2 | # against specific kernels. It is preferable that rpmbuild define the | |
3 | # require_kver, require_kdir, require_obj constants for us, but if it does not | |
4 | # not we attempt to determine the correct values based on your distro. | |
5 | ||
73358d5a BB |
6 | # kdir: Full path to the kernel source headers |
7 | # kobj: Full path to the kernel build objects | |
8 | # kver: Kernel version | |
9 | # kpkg: Kernel package name | |
10 | # kdevpkg: Kernel devel package name | |
11 | # kverpkg: Kernel package version | |
12 | ||
26d77c44 BB |
13 | %if %{defined require_kver} |
14 | %define kver %{require_kver} | |
15 | %endif | |
16 | ||
17 | %if %{defined require_kdir} | |
18 | %define kdir %{require_kdir} | |
19 | %endif | |
20 | ||
21 | %if %{defined require_kobj} | |
22 | %define kobj %{require_kobj} | |
23 | %endif | |
86933a6e | 24 | |
92c2f755 PS |
25 | # Set using 'rpmbuild ... --with kernel ...', defaults to enabled. |
26 | %if %{defined _with_kernel} | |
27 | %define with_kernel 1 | |
28 | %else | |
29 | %if %{defined _without_kernel} | |
30 | %define with_kernel 0 | |
31 | %else | |
32 | %define with_kernel 1 | |
33 | %endif | |
34 | %endif | |
35 | ||
36 | # Set using 'rpmbuild ... --with kernel-debug ...', defaults to disabled. | |
37 | %if %{defined _with_kernel_debug} | |
38 | %define with_kernel_debug 1 | |
39 | %else | |
40 | %if %{defined _without_kernel_debug} | |
41 | %define with_kernel_debug 0 | |
42 | %else | |
43 | %define with_kernel_debug 0 | |
44 | %endif | |
45 | %endif | |
46 | ||
d83d25c2 PS |
47 | # Set using 'rpmbuild ... --with kernel-dkms ...', defaults to disabled. |
48 | %if %{defined _with_kernel_dkms} | |
49 | %define with_kernel_dkms 1 | |
50 | %else | |
51 | %if %{defined _without_kernel_dkms} | |
52 | %define with_kernel_dkms 0 | |
53 | %else | |
54 | %define with_kernel_dkms 0 | |
55 | %endif | |
56 | %endif | |
57 | ||
3c208a54 BB |
58 | # Set using 'rpmbuild ... --with debug ...', defaults to disabled. |
59 | %if %{defined _with_debug} | |
60 | %define kdebug --enable-debug | |
61 | %else | |
62 | %if %{defined _without_debug} | |
63 | %define kdebug --disable-debug | |
64 | %else | |
65 | %define kdebug --disable-debug | |
66 | %endif | |
67 | %endif | |
68 | ||
69 | # Set using 'rpmbuild ... --with debug-log ...', defaults to enabled. | |
70 | %if %{defined _with_debug_log} | |
71 | %define kdebug_log --enable-debug-log | |
72 | %else | |
73 | %if %{defined _without_debug_log} | |
74 | %define kdebug_log --disable-debug-log | |
75 | %else | |
76 | %define kdebug_log --enable-debug-log | |
77 | %endif | |
78 | %endif | |
79 | ||
80 | # Set using 'rpmbuild ... --with debug-kmem ...', defaults to enabled. | |
81 | %if %{defined _with_debug_kmem} | |
82 | %define kdebug_kmem --enable-debug-kmem | |
83 | %else | |
84 | %if %{defined _without_debug_kmem} | |
85 | %define kdebug_kmem --disable-debug-kmem | |
86 | %else | |
87 | %define kdebug_kmem --enable-debug-kmem | |
88 | %endif | |
89 | %endif | |
90 | ||
91 | # Set using 'rpmbuild ... --with debug-tracking ...', defaults to disabled. | |
92 | %if %{defined _with_debug_kmem_tracking} | |
93 | %define kdebug_kmem_tracking --enable-debug-kmem-tracking | |
94 | %else | |
95 | %if %{defined _without_debug_kmem_tracking} | |
96 | %define kdebug_kmem_tracking --disable-debug-kmem-tracking | |
97 | %else | |
98 | %define kdebug_kmem_tracking --disable-debug-kmem-tracking | |
99 | %endif | |
100 | %endif | |
101 | ||
99879b25 | 102 | # SLES: |
73358d5a | 103 | %if %{defined suse_version} |
86933a6e | 104 | %if %{undefined kver} |
73358d5a BB |
105 | %ifarch ppc64 |
106 | %define kverextra ppc64 | |
107 | %else | |
108 | %define kverextra default | |
109 | %endif | |
110 | ||
111 | %if %{suse_version} >= 1100 | |
112 | %define klnk %{_usrsrc}/linux-obj/%{_target_cpu}/%{kverextra} | |
113 | %define krelease %{klnk}/include/config/kernel.release | |
114 | %else | |
115 | %define klnk %{_usrsrc}/linux-obj/%{_target_cpu}/%{kverextra} | |
116 | %define krelease %{klnk}/.kernelrelease | |
117 | %endif | |
118 | ||
92c2f755 PS |
119 | %define kver_kern %((echo X; %{__cat} %{krelease} 2>/dev/null)|tail -1) |
120 | %define kver_dbug %{nil} | |
121 | %else | |
122 | %define kver_kern %{kver} | |
123 | %define kver_dbug %{nil} | |
86933a6e | 124 | %endif |
73358d5a BB |
125 | |
126 | %if %{undefined kverextra} | |
92c2f755 | 127 | %define kverextra %(echo %{kver_kern} | cut -f3 -d'-') |
73358d5a BB |
128 | %endif |
129 | ||
92c2f755 PS |
130 | %define kpkg_kern kernel-%{kverextra} |
131 | %define kpkg_dbug %{nil} | |
d83d25c2 | 132 | %define kpkg_dkms dkms |
92c2f755 PS |
133 | |
134 | %define kdevpkg_kern kernel-source | |
135 | %define kdevpkg_dbug %{nil} | |
d83d25c2 | 136 | %define kdevpkg_dkms dkms |
92c2f755 PS |
137 | |
138 | %define kverpkg_kern %(echo %{kver_kern} | %{__sed} -e 's/-%{kverextra}//g') | |
139 | %define kverpkg_dbug %{nil} | |
d83d25c2 | 140 | %define kverpkg_dkms 2.2.0.2 |
73358d5a BB |
141 | |
142 | # The kernel and rpm versions do not strictly match under SLES11 | |
143 | # e.g. kernel version 2.6.27.19-5 != rpm version 2.6.27.19-5.1 | |
144 | %if %{suse_version} >= 1100 | |
145 | %define koppkg >= | |
146 | %else | |
147 | %define koppkg = | |
148 | %endif | |
149 | ||
86933a6e | 150 | %if %{undefined kdir} |
92c2f755 PS |
151 | %define kdir_kern %{_usrsrc}/linux-%{kverpkg_kern} |
152 | %define kdir_dbug %{nil} | |
153 | %else | |
154 | %define kdir_kern %{kdir} | |
155 | %define kdir_dbug %{nil} | |
86933a6e | 156 | %endif |
92c2f755 | 157 | |
86933a6e | 158 | %if %{undefined kobj} |
92c2f755 PS |
159 | %define kobj_kern %{kdir_kern}-obj/%{_target_cpu}/%{kverextra} |
160 | %define kobj_dbug %{nil} | |
161 | %else | |
162 | %define kobj_kern %{kobj} | |
163 | %define kobj_dbug %{nil} | |
86933a6e | 164 | %endif |
86933a6e | 165 | %else |
73358d5a | 166 | |
af67391e BB |
167 | # RHEL 5.x/6.x, CHAOS 5.x: |
168 | %if %{defined el5} || %{defined el6} || %{defined ch5} | |
73358d5a BB |
169 | %if %{undefined kver} |
170 | %define klnk %{_usrsrc}/kernels/*/include/config | |
92c2f755 PS |
171 | %define kver_kern %((echo X; ((%{__cat} %{klnk}/kernel.release |
172 | 2>/dev/null) | %{__grep} -v debug)) | tail -1) | |
173 | %define kver_dbug %((echo X; ((%{__cat} %{klnk}/kernel.release | |
174 | 2>/dev/null) | %{__grep} debug)) | tail -1) | |
175 | %else | |
176 | %define kver_kern %{kver} | |
177 | %define kver_dbug %{kver}.debug | |
73358d5a | 178 | %endif |
92c2f755 PS |
179 | |
180 | %define kpkg_kern kernel | |
181 | %define kpkg_dbug kernel-debug | |
d83d25c2 | 182 | %define kpkg_dkms dkms |
92c2f755 PS |
183 | |
184 | %define kdevpkg_kern kernel-devel | |
185 | %define kdevpkg_dbug kernel-debug-devel | |
d83d25c2 | 186 | %define kdevpkg_dkms dkms |
92c2f755 | 187 | |
d83d25c2 | 188 | %define kverpkg_dkms 2.2.0.2 |
96cdefab | 189 | %if %{defined el6} || %{defined ch5} |
92c2f755 PS |
190 | %define kverpkg_kern %(echo %{kver_kern} | %{__sed} -e 's/.%{_target_cpu}//g') |
191 | %define kverpkg_dbug %(echo %{kver_dbug} | %{__sed} -e 's/.%{_target_cpu}//g' | %{__sed} -e 's/.debug//g') | |
edbbb609 | 192 | %else |
92c2f755 PS |
193 | %define kverpkg_kern %{kver_kern} |
194 | %define kverpkg_dbug %{kver_dbug} | |
edbbb609 | 195 | %endif |
92c2f755 | 196 | |
73358d5a | 197 | %define koppkg = |
92c2f755 | 198 | |
73358d5a | 199 | %if %{undefined kdir} |
96cdefab | 200 | %if %{defined el6} || %{defined ch5} |
92c2f755 PS |
201 | %define kdir_kern %{_usrsrc}/kernels/%{kver_kern} |
202 | %define kdir_dbug %{_usrsrc}/kernels/%{kver_dbug} | |
96cdefab | 203 | %else |
92c2f755 PS |
204 | %define kdir_kern %{_usrsrc}/kernels/%{kver_kern}-%{_target_cpu} |
205 | %define kdir_dbug %{_usrsrc}/kernels/%{kver_dbug}-%{_target_cpu} | |
96cdefab | 206 | %endif |
92c2f755 PS |
207 | %else |
208 | %define kdir_kern %{kdir} | |
209 | %define kdir_dbug %{kdir}.debug | |
73358d5a | 210 | %endif |
92c2f755 | 211 | |
73358d5a | 212 | %if %{undefined kobj} |
92c2f755 PS |
213 | %define kobj_kern %{kdir_kern} |
214 | %define kobj_dbug %{kdir_dbug} | |
215 | %else | |
216 | %define kobj_kern %{kobj} | |
217 | %define kobj_dbug %{kobj}.debug | |
73358d5a | 218 | %endif |
86933a6e | 219 | %else |
73358d5a | 220 | |
99879b25 | 221 | # Fedora: |
73358d5a | 222 | %if %{defined fedora} |
86933a6e BB |
223 | %if %{undefined kver} |
224 | %define klnk %{_usrsrc}/kernels/*/include/config | |
92c2f755 PS |
225 | %define kver_kern %((echo X; ((%{__cat} %{klnk}/kernel.release |
226 | 2>/dev/null) | %{__grep} -v debug)) | tail -1) | |
227 | %define kver_dbug %((echo X; ((%{__cat} %{klnk}/kernel.release | |
228 | 2>/dev/null) | %{__grep} debug)) | tail -1) | |
229 | %else | |
230 | %define kver_kern %{kver} | |
231 | %define kver_dbug %{kver}.debug | |
86933a6e | 232 | %endif |
92c2f755 PS |
233 | |
234 | %define kpkg_kern kernel | |
235 | %define kpkg_dbug kernel-debug | |
d83d25c2 | 236 | %define kpkg_dkms dkms |
92c2f755 PS |
237 | |
238 | %define kdevpkg_kern kernel-devel | |
239 | %define kdevpkg_dbug kernel-debug-devel | |
d83d25c2 | 240 | %define kdevpkg_dkms dkms |
92c2f755 | 241 | |
d83d25c2 | 242 | %define kverpkg_dkms 2.2.0.2 |
92c2f755 PS |
243 | %define kverpkg_kern %(echo %{kver_kern} | %{__sed} -e 's/.%{_target_cpu}//g') |
244 | %define kverpkg_dbug %(echo %{kver_dbug} | %{__sed} -e 's/.%{_target_cpu}//g' | %{__sed} -e 's/.debug//g') | |
245 | ||
73358d5a | 246 | %define koppkg = |
92c2f755 | 247 | |
86933a6e | 248 | %if %{undefined kdir} |
92c2f755 PS |
249 | %define kdir_kern %{_usrsrc}/kernels/%{kver_kern} |
250 | %define kdir_dbug %{_usrsrc}/kernels/%{kver_dbug} | |
251 | %else | |
252 | %define kdir_kern %{kdir} | |
253 | %define kdir_dbug %{kdir}.debug | |
86933a6e | 254 | %endif |
92c2f755 | 255 | |
86933a6e | 256 | %if %{undefined kobj} |
92c2f755 PS |
257 | %define kobj_kern %{kdir_kern} |
258 | %define kobj_dbug %{kdir_dbug} | |
259 | %else | |
260 | %define kobj_kern %{kobj} | |
261 | %define kobj_dbug %{kobj}.debug | |
86933a6e | 262 | %endif |
86933a6e BB |
263 | %else |
264 | ||
265 | # Unsupported distro: | |
266 | %if %{undefined kver} | |
92c2f755 PS |
267 | %define kver_kern %(uname -r) |
268 | %define kver_dbug %{nil} | |
269 | %else | |
270 | %define kver_kern %{kver} | |
271 | %define kver_dbug %{nil} | |
86933a6e | 272 | %endif |
92c2f755 PS |
273 | |
274 | %define kverpkg_kern %{kver_kern} | |
275 | %define kverpkg_dbug %{nil} | |
d83d25c2 | 276 | %define kverpkg_dkms %{nil} |
92c2f755 | 277 | |
86933a6e | 278 | %if %{undefined kdir} |
92c2f755 PS |
279 | %define kdir_kern /lib/modules/%{kver_kern}/build |
280 | %define kdir_dbug %{nil} | |
281 | %else | |
282 | %define kdir_kern %{kdir} | |
283 | %define kdir_dbug %{nil} | |
86933a6e | 284 | %endif |
92c2f755 | 285 | |
86933a6e | 286 | %if %{undefined kobj} |
92c2f755 PS |
287 | %define kobj_kern %{kdir_kern} |
288 | %define kobj_dbug %{nil} | |
289 | %else | |
290 | %define kobj_kern %{kobj} | |
291 | %define kobj_dbug %{nil} | |
86933a6e BB |
292 | %endif |
293 | ||
294 | %endif | |
295 | %endif | |
296 | %endif | |
297 | ||
298 | # Distro agnostic: | |
299 | %define name @PACKAGE@-modules | |
300 | %define version @VERSION@ | |
86933a6e | 301 | |
86933a6e BB |
302 | # The kernel version should only be appended to a binary RPM. When |
303 | # building a source RPM it must be kernel version agnostic. This means | |
304 | # the source RPM must never specify a required kernel version, but the | |
305 | # final RPM should be keyed to the kernel version it was built against. | |
306 | %if %{defined build_src_rpm} | |
92c2f755 PS |
307 | %define rel_kern @SPL_META_RELEASE@ |
308 | %define rel_dbug @SPL_META_RELEASE@ | |
d83d25c2 | 309 | %define rel_dkms @SPL_META_RELEASE@ |
92c2f755 PS |
310 | %if %{defined kpkg_kern} |
311 | %define req_kern %{kpkg_kern} | |
312 | %endif | |
313 | %if %{defined kpkg_dbug} | |
314 | %define req_dbug %{kpkg_dbug} | |
315 | %endif | |
d83d25c2 PS |
316 | %if %{defined kpkg_dkms} |
317 | %define req_dkms %{kpkg_dkms} | |
318 | %endif | |
92c2f755 PS |
319 | %if %{defined kdevpkg_kern} |
320 | %define devreq_kern %{kdevpkg_kern} | |
321 | %endif | |
322 | %if %{defined kdevpkg_dbug} | |
323 | %define devreq_dbug %{kdevpkg_dbug} | |
99879b25 | 324 | %endif |
86933a6e | 325 | %else |
92c2f755 PS |
326 | %define relext_kern %(echo %{kverpkg_kern} | %{__sed} -e 's/-/_/g') |
327 | %define relext_dbug %(echo %{kverpkg_dbug} | %{__sed} -e 's/-/_/g') | |
328 | %define rel_kern @SPL_META_RELEASE@_%{relext_kern} | |
329 | %define rel_dbug @SPL_META_RELEASE@_%{relext_dbug} | |
d83d25c2 | 330 | %define rel_dkms @SPL_META_RELEASE@ |
92c2f755 PS |
331 | %if %{defined kpkg_kern} |
332 | %define req_kern %{kpkg_kern} %{koppkg} %{kverpkg_kern} | |
333 | %endif | |
334 | %if %{defined kpkg_dbug} | |
335 | %define req_dbug %{kpkg_dbug} %{koppkg} %{kverpkg_dbug} | |
336 | %endif | |
d83d25c2 PS |
337 | %if %{defined kpkg_dkms} |
338 | %define req_dkms %{kpkg_dkms} >= %{kverpkg_dkms} | |
339 | %endif | |
92c2f755 PS |
340 | %if %{defined kdevpkg_kern} |
341 | %define devreq_kern %{kdevpkg_kern} %{koppkg} %{kverpkg_kern} | |
3cce0f13 | 342 | %endif |
92c2f755 PS |
343 | %if %{defined kdevpkg_dbug} |
344 | %define devreq_dbug %{kdevpkg_dbug} %{koppkg} %{kverpkg_dbug} | |
86933a6e | 345 | %endif |
3cce0f13 | 346 | %endif |
86933a6e | 347 | |
92c2f755 | 348 | |
86933a6e BB |
349 | Summary: Solaris Porting Layer Modules |
350 | Group: Utilities/System | |
351 | Name: %{name} | |
352 | Version: %{version} | |
92c2f755 | 353 | Release: %{rel_kern} |
86933a6e | 354 | License: @LICENSE@ |
a49bc996 | 355 | URL: git://github.com/zfsonlinux/spl.git |
f44078fa | 356 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%(%{__id} -un) |
86933a6e | 357 | Source: @PACKAGE@-%{version}.tar.gz |
92c2f755 PS |
358 | |
359 | %if %{?with_kernel} | |
360 | ||
361 | %if %{defined req_kern} | |
362 | Requires: %{req_kern} | |
3cce0f13 | 363 | %endif |
92c2f755 PS |
364 | %if %{defined kdevpkg_kern} |
365 | BuildRequires: %{kdevpkg_kern} | |
366 | %endif | |
367 | ||
3cce0f13 | 368 | %endif |
86933a6e BB |
369 | |
370 | %description | |
371 | The %{name} package contains kernel modules for emulating Solaris style | |
372 | primatives in the linux kernel. These include, but are not limited to: | |
373 | atomic, condvar, debug, error, memory, kobject, kstat, mutex, rwlock, | |
374 | taskq, thread, time, and vnode APIs. | |
375 | ||
92c2f755 PS |
376 | %if %{?with_kernel} |
377 | ||
86933a6e BB |
378 | %package devel |
379 | Summary: Solaris Porting Layer Headers and Symbols | |
380 | Group: Development/Libraries | |
92c2f755 PS |
381 | Release: %{rel_kern} |
382 | %if %{defined devreq_kern} | |
383 | Requires: %{devreq_kern} | |
3cce0f13 | 384 | %endif |
92c2f755 PS |
385 | %if %{defined kdevpkg_kern} |
386 | BuildRequires: %{kdevpkg_kern} | |
3cce0f13 | 387 | %endif |
86933a6e BB |
388 | |
389 | %description devel | |
390 | The %{name}-devel package contains the header files and Module{s}.symvers | |
391 | symbols needed for building additional modules which use %{name}. | |
392 | ||
92c2f755 PS |
393 | %endif |
394 | %if %{?with_kernel_debug} | |
395 | ||
396 | %package debug | |
397 | Summary: Solaris Porting Layer Debug Modules | |
398 | Group: Utilities/System | |
399 | Release: %{rel_dbug} | |
400 | %if %{defined req_dbug} | |
401 | Requires: %{req_dbug} | |
402 | %endif | |
403 | %if %{defined kdevpkg_dbug} | |
404 | BuildRequires: %{kdevpkg_dbug} | |
405 | %endif | |
406 | ||
407 | %description debug | |
408 | The %{name}-debug package contains kernel modules for emulating Solaris | |
409 | style primatives in the linux kernel. These include, but are not limited | |
410 | to: atomic, condvar, debug, error, memory, kobject, kstat, mutex, | |
411 | rwlock, taskq, thread, time, and vnode APIs. | |
412 | ||
413 | %package debug-devel | |
414 | Summary: Solaris Porting Layer Debug Headers and Symbols | |
415 | Group: Development/Libraries | |
416 | Release: %{rel_dbug} | |
417 | %if %{defined devreq_dbug} | |
418 | Requires: %{devreq_dbug} | |
419 | %endif | |
420 | %if %{defined kdevpkg_dbug} | |
421 | BuildRequires: %{kdevpkg_dbug} | |
422 | %endif | |
423 | ||
424 | %description debug-devel | |
425 | The %{name}-debug-devel package contains the header files and | |
426 | Module{s}.symvers symbols needed for building additional modules which | |
427 | use %{name}-debug. | |
428 | ||
d83d25c2 PS |
429 | %endif |
430 | %if %{?with_kernel_dkms} | |
431 | ||
432 | %package dkms | |
433 | Summary: Solaris Porting Layer Modules (DKMS) | |
434 | Group: Utilities/System | |
435 | Release: %{rel_dkms} | |
436 | Provides: %{name} | |
437 | BuildArch: noarch | |
438 | %if %{defined req_dkms} | |
439 | Requires: %{req_dkms} | |
440 | %endif | |
441 | %if %{defined kdevpkg_dkms} | |
442 | BuildRequires: %{kdevpkg_dkms} | |
443 | %endif | |
444 | ||
445 | %description dkms | |
446 | The %{name}-dkms package contains all the necessary pieces to build and | |
447 | install Solaris Porting Layer (SPL) kernel modules with Dynamic Kernel | |
448 | Modules Support (DKMS). The SPL modules emulate Solaris style primatives | |
449 | in the the linux kernel. They include, but are not limited to: atomic, | |
450 | condvar, debug, error, memory, kobject, kstat, mutex, rwlock, taskq, | |
451 | thread, time, and vnode APIs. | |
452 | ||
92c2f755 PS |
453 | %endif |
454 | ||
86933a6e BB |
455 | %prep |
456 | %setup -n @PACKAGE@-%{version} | |
457 | %build | |
92c2f755 PS |
458 | rm -rf $RPM_BUILD_ROOT |
459 | ||
460 | %if %{?with_kernel} | |
461 | ||
462 | %configure --with-config=kernel \ | |
463 | --with-linux=%{kdir_kern} --with-linux-obj=%{kobj_kern} \ | |
3c208a54 | 464 | %{kdebug} %{kdebug_log} %{kdebug_kmem} %{kdebug_kmem_tracking} |
86933a6e | 465 | make |
92c2f755 | 466 | make DESTDIR=$RPM_BUILD_ROOT install |
86933a6e | 467 | |
92c2f755 PS |
468 | %endif |
469 | %if %{?with_kernel_debug} | |
470 | ||
471 | %configure --with-config=kernel \ | |
472 | --with-linux=%{kdir_dbug} --with-linux-obj=%{kobj_dbug} \ | |
473 | %{kdebug} %{kdebug_log} %{kdebug_kmem} %{kdebug_kmem_tracking} | |
474 | make | |
86933a6e BB |
475 | make DESTDIR=$RPM_BUILD_ROOT install |
476 | ||
d83d25c2 PS |
477 | %endif |
478 | %if %{?with_kernel_dkms} | |
479 | ||
480 | %configure --with-config=kernel \ | |
481 | %{kdebug} %{kdebug_log} %{kdebug_kmem} %{kdebug_kmem_tracking} | |
482 | make dist | |
483 | mkdir -p $RPM_BUILD_ROOT/%{_prefix}/src | |
484 | tar -xf @PACKAGE@-%{version}.tar.gz -C $RPM_BUILD_ROOT/%{_prefix}/src | |
485 | cp -af dkms.conf $RPM_BUILD_ROOT/%{_prefix}/src/@PACKAGE@-%{version} | |
486 | ||
92c2f755 PS |
487 | %endif |
488 | ||
86933a6e BB |
489 | %clean |
490 | rm -rf $RPM_BUILD_ROOT | |
491 | ||
92c2f755 PS |
492 | %if %{?with_kernel} |
493 | ||
86933a6e BB |
494 | %files |
495 | %defattr(-, root, root) | |
92c2f755 | 496 | /lib/modules/%{kver_kern}/* |
86933a6e BB |
497 | |
498 | %files devel | |
499 | %defattr(-,root,root) | |
36798290 | 500 | %{_prefix}/src/*/%{kver_kern} |
86933a6e BB |
501 | |
502 | %post | |
92c2f755 PS |
503 | if [ -f /boot/System.map-%{kver_kern} ]; then |
504 | /sbin/depmod -ae -F /boot/System.map-%{kver_kern} %{kver_kern} || exit 0 | |
86933a6e | 505 | else |
948914d2 | 506 | /sbin/depmod -a || exit 0 |
86933a6e BB |
507 | fi |
508 | ||
509 | %postun | |
92c2f755 PS |
510 | if [ -f /boot/System.map-%{kver_kern} ]; then |
511 | /sbin/depmod -ae -F /boot/System.map-%{kver_kern} %{kver_kern} || exit 0 | |
512 | else | |
513 | /sbin/depmod -a || exit 0 | |
514 | fi | |
515 | ||
36798290 BB |
516 | %postun devel |
517 | rmdir %{_prefix}/src/@PACKAGE@-%{version}-@SPL_META_RELEASE@ 2>/dev/null | |
518 | exit 0 | |
519 | ||
92c2f755 PS |
520 | %endif |
521 | %if %{?with_kernel_debug} | |
522 | ||
523 | %files debug | |
524 | %defattr(-, root, root) | |
525 | /lib/modules/%{kver_dbug}/* | |
526 | ||
527 | %files debug-devel | |
528 | %defattr(-,root,root) | |
36798290 | 529 | %{_prefix}/src/*/%{kver_dbug} |
92c2f755 PS |
530 | |
531 | %post debug | |
532 | if [ -f /boot/System.map-%{kver_dbug} ]; then | |
533 | /sbin/depmod -ae -F /boot/System.map-%{kver_dbug} %{kver_dbug} || exit 0 | |
86933a6e | 534 | else |
948914d2 | 535 | /sbin/depmod -a || exit 0 |
86933a6e | 536 | fi |
92c2f755 PS |
537 | |
538 | %postun debug | |
539 | if [ -f /boot/System.map-%{kver_dbug} ]; then | |
540 | /sbin/depmod -ae -F /boot/System.map-%{kver_dbug} %{kver_dbug} || exit 0 | |
541 | else | |
542 | /sbin/depmod -a || exit 0 | |
543 | fi | |
544 | ||
36798290 BB |
545 | %postun debug-devel |
546 | rmdir %{_prefix}/src/@PACKAGE@-%{version}-@SPL_META_RELEASE@ 2>/dev/null | |
547 | exit 0 | |
548 | ||
92c2f755 | 549 | %endif |
d83d25c2 PS |
550 | %if %{?with_kernel_dkms} |
551 | ||
552 | %files dkms | |
553 | %defattr(-,root,root) | |
36798290 | 554 | %{_prefix}/src/@PACKAGE@-%{version} |
d83d25c2 PS |
555 | |
556 | %post dkms | |
557 | for POSTINST in %{_prefix}/lib/dkms/common.postinst; do | |
558 | if [ -f $POSTINST ]; then | |
559 | $POSTINST @PACKAGE@ %{version} | |
560 | exit $? | |
561 | fi | |
562 | echo "WARNING: $POSTINST does not exist." | |
563 | done | |
564 | echo -e "ERROR: DKMS version is too old and @PACKAGE@ was not" | |
565 | echo -e "built with legacy DKMS support." | |
566 | echo -e "You must either rebuild @PACKAGE@ with legacy postinst" | |
567 | echo -e "support or upgrade DKMS to a more current version." | |
568 | exit 1 | |
569 | ||
570 | %preun dkms | |
571 | echo -e | |
572 | echo -e "Uninstall of @PACKAGE@ module (version %{version}) beginning:" | |
573 | dkms remove -m @PACKAGE@ -v %{version} --all --rpm_safe_upgrade | |
574 | exit 0 | |
575 | ||
576 | %endif |