1 |
# |
2 |
# *tmb* series kernels now use kernel.org versioning |
3 |
# |
4 |
%define kernelversion 2 |
5 |
%define patchlevel 6 |
6 |
%define sublevel 37 |
7 |
|
8 |
# kernel Makefile extraversion is substituted by |
9 |
# kpatch/kgit/kstable wich are either 0 (empty), rc (kpatch), |
10 |
# git (kgit, only the number after "git"), or stable release (kstable) |
11 |
%define kpatch 0 |
12 |
%define kgit 0 |
13 |
%define kstable 2 |
14 |
|
15 |
# this is the releaseversion |
16 |
%define kbuild 1 |
17 |
|
18 |
%define ktag tmb |
19 |
%define kname kernel-%{ktag} |
20 |
|
21 |
%define rpmtag %distsuffix |
22 |
%if %kpatch |
23 |
%if %kgit |
24 |
%define rpmrel %mkrel 0.%{kpatch}.%{kgit}.%{kbuild} |
25 |
%else |
26 |
%define rpmrel %mkrel 0.%{kpatch}.%{kbuild} |
27 |
%endif |
28 |
%else |
29 |
%define rpmrel %mkrel %{kbuild} |
30 |
%endif |
31 |
|
32 |
# theese two never change, they are used to fool rpm/urpmi/smart |
33 |
%define fakever 1 |
34 |
%define fakerel %mkrel 1 |
35 |
|
36 |
# When we are using a pre/rc patch, the tarball is a sublevel -1 |
37 |
%if %kpatch |
38 |
%define kversion %{kernelversion}.%{patchlevel}.%{sublevel} |
39 |
%define tar_ver %{kernelversion}.%{patchlevel}.%(expr %{sublevel} - 1) |
40 |
%define patch_ver %{kversion}-%{kpatch}-%{ktag}%{kbuild} |
41 |
%else |
42 |
%if %kstable |
43 |
%define kversion %{kernelversion}.%{patchlevel}.%{sublevel}.%{kstable} |
44 |
%define tar_ver %{kernelversion}.%{patchlevel}.%{sublevel} |
45 |
%else |
46 |
%define kversion %{kernelversion}.%{patchlevel}.%{sublevel} |
47 |
%define tar_ver %{kversion} |
48 |
%endif |
49 |
%define patch_ver %{kversion}-%{ktag}%{kbuild} |
50 |
%endif |
51 |
%define kverrel %{kversion}-%{rpmrel} |
52 |
|
53 |
# used for not making too long names for rpms or search paths |
54 |
%if %kpatch |
55 |
%if %kgit |
56 |
%define buildrpmrel 0.%{kpatch}.%{kgit}.%{kbuild}%{rpmtag} |
57 |
%else |
58 |
%define buildrpmrel 0.%{kpatch}.%{kbuild}%{rpmtag} |
59 |
%endif |
60 |
%else |
61 |
%define buildrpmrel %{kbuild}%{rpmtag} |
62 |
%endif |
63 |
%define buildrel %{kversion}-%{buildrpmrel} |
64 |
|
65 |
# having different top level names for packges means that you have to remove them by hard :( |
66 |
%define top_dir_name %{kname}-%{_arch} |
67 |
|
68 |
%define build_dir ${RPM_BUILD_DIR}/%{top_dir_name} |
69 |
%define src_dir %{build_dir}/linux-%{tar_ver} |
70 |
|
71 |
# disable useless debug rpms... |
72 |
%define _enable_debug_packages %{nil} |
73 |
%define debug_package %{nil} |
74 |
|
75 |
# Build defines |
76 |
%define build_doc 0 |
77 |
%define build_source 1 |
78 |
%define build_devel 1 |
79 |
%define build_debug 0 |
80 |
|
81 |
# Build desktop i586 / 4GB |
82 |
%ifarch %{ix86} |
83 |
%define build_desktop586 1 |
84 |
%endif |
85 |
|
86 |
# Build mm (i686 / 4GB) / x86_64 |
87 |
%define build_desktop 1 |
88 |
|
89 |
# Build laptop (i686 / 4GB)/ x86_64 |
90 |
%ifarch %{ix86} x86_64 |
91 |
%define build_laptop 1 |
92 |
%endif |
93 |
|
94 |
# Build realtime (i686 / 4GB)/x86_64 |
95 |
%define build_realtime 0 |
96 |
|
97 |
# Build server (i686 / 64GB)/x86_64 |
98 |
%define build_server 1 |
99 |
|
100 |
# End of user definitions |
101 |
%{?_without_desktop586: %global build_desktop586 0} |
102 |
%{?_without_desktop: %global build_desktop 0} |
103 |
%{?_without_laptop: %global build_laptop 0} |
104 |
%{?_without_realtime: %global build_realtime 0} |
105 |
%{?_without_server: %global build_server 0} |
106 |
%{?_without_doc: %global build_doc 0} |
107 |
%{?_without_source: %global build_source 0} |
108 |
%{?_without_devel: %global build_devel 0} |
109 |
%{?_without_debug: %global build_debug 0} |
110 |
|
111 |
%{?_with_desktop586: %global build_desktop586 1} |
112 |
%{?_with_desktop: %global build_desktop 1} |
113 |
%{?_with_laptop: %global build_laptop 1} |
114 |
%{?_with_realtime: %global build_realtime 1} |
115 |
%{?_with_server: %global build_server 1} |
116 |
%{?_with_doc: %global build_doc 1} |
117 |
%{?_with_source: %global build_source 1} |
118 |
%{?_with_devel: %global build_devel 1} |
119 |
%{?_with_debug: %global build_debug 1} |
120 |
|
121 |
# For the .nosrc.rpm |
122 |
%define build_nosrc 0 |
123 |
%{?_with_nosrc: %global build_nosrc 1} |
124 |
|
125 |
%define kmake %make |
126 |
# there are places where parallel make don't work |
127 |
%define smake make |
128 |
|
129 |
# Parallelize xargs invocations on smp machines |
130 |
%define kxargs xargs %([ -z "$RPM_BUILD_NCPUS" ] \\\ |
131 |
&& RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ |
132 |
[ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-P $RPM_BUILD_NCPUS") |
133 |
|
134 |
# |
135 |
# SRC RPM description |
136 |
# |
137 |
Summary: Linux kernel built for Mandriva with modifications by %{ktag} |
138 |
Name: %{kname} |
139 |
Version: %{kversion} |
140 |
Release: %{rpmrel} |
141 |
License: GPLv2 |
142 |
Group: System/Kernel and hardware |
143 |
ExclusiveArch: %{ix86} x86_64 |
144 |
ExclusiveOS: Linux |
145 |
URL: http://wiki.mandriva.com/en/Docs/Howto/Mandriva_Kernels#kernel-tmb |
146 |
|
147 |
#################################################################### |
148 |
# |
149 |
# Sources |
150 |
# |
151 |
### This is for full SRC RPM |
152 |
Source0: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/linux-%{tar_ver}.tar.bz2 |
153 |
Source1: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/linux-%{tar_ver}.tar.bz2.sign |
154 |
### This is for stripped SRC RPM |
155 |
%if %build_nosrc |
156 |
NoSource: 0 |
157 |
%endif |
158 |
# This is for disabling mrproper in -devel rpms |
159 |
Source2: disable-mrproper-prepare-scripts-configs-in-devel-rpms.patch |
160 |
|
161 |
Source4: README.kernel-%{ktag}-sources |
162 |
Source5: README.Mandriva_Linux_%{ktag} |
163 |
|
164 |
Source100: linux-%{patch_ver}.tar.xz |
165 |
Source101: linux-%{patch_ver}.tar.xz.asc |
166 |
Source102: %{kname}.patchlist |
167 |
|
168 |
#################################################################### |
169 |
# |
170 |
# Patches |
171 |
|
172 |
# |
173 |
# Patch0 to Patch100 are for core kernel upgrades. |
174 |
# |
175 |
|
176 |
# Pre linus patch: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing |
177 |
|
178 |
%if %kpatch |
179 |
Patch1: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/testing/patch-%{kernelversion}.%{patchlevel}.%{sublevel}-%{kpatch}.bz2 |
180 |
Source10: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/testing/patch-%{kernelversion}.%{patchlevel}.%{sublevel}-%{kpatch}.bz2.sign |
181 |
%endif |
182 |
%if %kgit |
183 |
Patch2: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/snapshots/patch-%{kernelversion}.%{patchlevel}.%{sublevel}-%{kpatch}-git%{kgit}.bz2 |
184 |
Source11: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/snapshots/patch-%{kernelversion}.%{patchlevel}.%{sublevel}-%{kpatch}-git%{kgit}.bz2.sign |
185 |
%endif |
186 |
%if %kstable |
187 |
Patch1: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/patch-%{kversion}.bz2 |
188 |
Source10: ftp://ftp.kernel.org/pub/linux/kernel/v%{kernelversion}.%{patchlevel}/patch-%{kversion}.bz2.sign |
189 |
%endif |
190 |
|
191 |
#END |
192 |
#################################################################### |
193 |
|
194 |
# Defines for the things that are needed for all the kernels |
195 |
# |
196 |
%define common_description_kernel The kernel package contains the Linux kernel (vmlinuz), the core of your \ |
197 |
Mandriva Linux operating system. The kernel handles the basic functions \ |
198 |
of the operating system: memory allocation, process allocation, device \ |
199 |
input and output, etc. |
200 |
|
201 |
%define common_description_info For instructions for update, see: \ |
202 |
http://www.mandriva.com/en/security/kernelupdate \ |
203 |
\ |
204 |
The %{ktag} kernels is an experimental kernel based on the kernel.org \ |
205 |
kernels with added patches. Some of them may/will never end up in \ |
206 |
the main kernels due to their experimental nature. Some refer to \ |
207 |
this kernel as a 'hackkernel' ... \ |
208 |
Use these kernels at your own risk !! |
209 |
|
210 |
### Global Requires/Provides |
211 |
%define requires1 mkinitrd >= 6.0.92-12 |
212 |
%define requires2 bootloader-utils >= 1.12-1 |
213 |
%define requires3 sysfsutils >= 1.3.0-1 module-init-tools >= 3.6-10 |
214 |
%define requires4 kernel-firmware >= 20100217-1 |
215 |
|
216 |
%define kprovides %{kname} = %{kverrel}, kernel = %{tar_ver}, drbd-api = 88 |
217 |
|
218 |
BuildRoot: %{_tmppath}/%{kname}-%{kversion}-%{_arch}-build |
219 |
%define buildroot %{_tmppath}/%{kname}-%{kversion}-%{_arch}-build |
220 |
Autoreqprov: no |
221 |
BuildRequires: gcc >= 4.0.1-5 module-init-tools >= 3.2-0.pre8.2 |
222 |
|
223 |
%description |
224 |
%common_description_kernel |
225 |
|
226 |
%common_description_info |
227 |
|
228 |
|
229 |
# mkflavour() name flavour processor |
230 |
# name: the flavour name in the package name |
231 |
# flavour: first parameter of CreateKernel() |
232 |
%define mkflavour() \ |
233 |
%package -n %{kname}-%{1}-%{buildrel} \ |
234 |
Version: %{fakever} \ |
235 |
Release: %{fakerel} \ |
236 |
Provides: %kprovides \ |
237 |
Provides: should-restart = system \ |
238 |
Requires(pre): %requires1 %requires2 %requires3 %requires4 \ |
239 |
%ifarch %{ix86} \ |
240 |
Conflicts: arch(x86_64) \ |
241 |
%endif \ |
242 |
Summary: %{expand:%{summary_%(echo %{1})}} \ |
243 |
Group: System/Kernel and hardware \ |
244 |
%description -n %{kname}-%{1}-%{buildrel} \ |
245 |
%common_description_kernel %{expand:%{info_%(echo %{1})}} \ |
246 |
\ |
247 |
%common_description_info \ |
248 |
\ |
249 |
%if %build_devel \ |
250 |
%package -n %{kname}-%{1}-devel-%{buildrel} \ |
251 |
Version: %{fakever} \ |
252 |
Release: %{fakerel} \ |
253 |
Requires: glibc-devel ncurses-devel make gcc perl \ |
254 |
%ifarch %{ix86} \ |
255 |
Conflicts: arch(x86_64) \ |
256 |
%endif \ |
257 |
Summary: The kernel-devel files for %{kname}-%{1}-%{buildrel} \ |
258 |
Group: Development/Kernel \ |
259 |
Provides: kernel-devel = %{kverrel} \ |
260 |
%description -n %{kname}-%{1}-devel-%{buildrel} \ |
261 |
This package contains the kernel-devel files that should be enough to build \ |
262 |
3rdparty drivers against for use with %{kname}-%{1}-%{buildrel}. \ |
263 |
\ |
264 |
If you want to build your own kernel, you need to install the full \ |
265 |
%{kname}-source-%{buildrel} rpm. \ |
266 |
\ |
267 |
%common_description_info \ |
268 |
%endif \ |
269 |
\ |
270 |
%package -n %{kname}-%{1}-latest \ |
271 |
Version: %{kversion} \ |
272 |
Release: %{rpmrel} \ |
273 |
Summary: Virtual rpm for latest %{kname}-%{1} \ |
274 |
Group: System/Kernel and hardware \ |
275 |
Requires: %{kname}-%{1}-%{buildrel} \ |
276 |
Obsoletes: %{kname}-%{1}-smp-latest <= 2.6.22-0.rc5.%{expand:%mkrel 1} \ |
277 |
%ifarch %{ix86} \ |
278 |
Conflicts: arch(x86_64) \ |
279 |
%endif \ |
280 |
%description -n %{kname}-%{1}-latest \ |
281 |
This package is a virtual rpm that aims to make sure you always have the \ |
282 |
latest %{kname}-%{1} installed... \ |
283 |
\ |
284 |
%common_description_info \ |
285 |
\ |
286 |
%if %build_devel \ |
287 |
%package -n %{kname}-%{1}-devel-latest \ |
288 |
Version: %{kversion} \ |
289 |
Release: %{rpmrel} \ |
290 |
Summary: Virtual rpm for latest %{kname}-%{1}-devel \ |
291 |
Group: Development/Kernel \ |
292 |
Requires: %{kname}-%{1}-devel-%{buildrel} \ |
293 |
Obsoletes: %{kname}-%{1}-smp-devel-latest <= 2.6.22-0.rc5.%{expand:%mkrel 1} \ |
294 |
%ifarch %{ix86} \ |
295 |
Conflicts: arch(x86_64) \ |
296 |
%endif \ |
297 |
%description -n %{kname}-%{1}-devel-latest \ |
298 |
This package is a virtual rpm that aims to make sure you always have the \ |
299 |
latest %{kname}-%{1}-devel installed... \ |
300 |
\ |
301 |
%common_description_info \ |
302 |
%endif \ |
303 |
\ |
304 |
%post -n %{kname}-%{1}-%{buildrel} -f kernel_files.%{1}-post \ |
305 |
%preun -n %{kname}-%{1}-%{buildrel} -f kernel_files.%{1}-preun \ |
306 |
%postun -n %{kname}-%{1}-%{buildrel} -f kernel_files.%{1}-postun \ |
307 |
\ |
308 |
%if %build_devel \ |
309 |
%post -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1}-post \ |
310 |
%preun -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1}-preun \ |
311 |
%endif \ |
312 |
\ |
313 |
%files -n %{kname}-%{1}-%{buildrel} -f kernel_files.%{1} \ |
314 |
%files -n %{kname}-%{1}-latest \ |
315 |
%defattr(-,root,root) \ |
316 |
\ |
317 |
%if %build_devel \ |
318 |
%files -n %{kname}-%{1}-devel-%{buildrel} -f kernel_devel_files.%{1} \ |
319 |
%files -n %{kname}-%{1}-devel-latest \ |
320 |
%defattr(-,root,root) \ |
321 |
%endif |
322 |
|
323 |
|
324 |
# |
325 |
# kernel-desktop586: i586, smp-alternatives, 4GB |
326 |
# |
327 |
%ifarch %{ix86} |
328 |
%if %build_desktop586 |
329 |
%define summary_desktop586 Linux kernel for desktop use with i586 & 4GB RAM |
330 |
%define info_desktop586 This kernel is compiled for desktop use, single or \ |
331 |
multiple i586 processor(s)/core(s) and less than 4GB RAM, using full \ |
332 |
preempt, BFS cpu scheduler and cfq i/o scheduler. \ |
333 |
This kernel relies on in-kernel smp alternatives to switch between up & smp \ |
334 |
mode depending on detected hardware. To force the kernel to boot in single \ |
335 |
processor mode, use the "nosmp" boot parameter. |
336 |
%mkflavour desktop586 |
337 |
%endif |
338 |
%endif |
339 |
|
340 |
# |
341 |
# kernel-desktop: i686, smp-alternatives, 4 GB / x86_64 |
342 |
# |
343 |
%if %build_desktop |
344 |
%ifarch %{ix86} |
345 |
%define summary_desktop Linux Kernel for desktop use with i686 & 4GB RAM |
346 |
%define info_desktop This kernel is compiled for desktop use, single or \ |
347 |
multiple i686 processor(s)/core(s) and less than 4GB RAM, using full \ |
348 |
preempt, BFS cpu scheduler and cfq i/o scheduler. \ |
349 |
This kernel relies on in-kernel smp alternatives to switch between up & smp \ |
350 |
mode depending on detected hardware. To force the kernel to boot in single \ |
351 |
processor mode, use the "nosmp" boot parameter. |
352 |
%else |
353 |
%define summary_desktop Linux Kernel for desktop use with %{_arch} |
354 |
%define info_desktop This kernel is compiled for desktop use, single or \ |
355 |
multiple %{_arch} processor(s)/core(s), using full preempt, BFS cpu \ |
356 |
scheduler and cfq i/o scheduler. \ |
357 |
This kernel relies on in-kernel smp alternatives to switch between up & smp \ |
358 |
mode depending on detected hardware. To force the kernel to boot in single \ |
359 |
processor mode, use the "nosmp" boot parameter. |
360 |
%endif |
361 |
%mkflavour desktop |
362 |
%endif |
363 |
|
364 |
# |
365 |
# kernel-laptop: i686, smp-alternatives, 4GB / x86_64 |
366 |
# |
367 |
%if %build_laptop |
368 |
%ifarch %{ix86} |
369 |
%define summary_laptop Linux kernel for laptop use with i686-up/smp-4GB |
370 |
%define info_laptop This kernel is compiled for laptop use, single or \ |
371 |
multiple i686 processor(s)/core(s) and less than 4GB RAM, using HZ_250 \ |
372 |
to save battery, voluntary preempt, BFS cpu scheduler, cfq i/o scheduler \ |
373 |
and some other laptop-specific optimizations. If you want to sacrifice \ |
374 |
battery life for performance, you better use the %{kname}-desktop. \ |
375 |
This kernel relies on in-kernel smp alternatives to switch between up & smp \ |
376 |
mode depending on detected hardware. To force the kernel to boot in single \ |
377 |
processor mode, use the "nosmp" boot parameter. \ |
378 |
NOTE! This kernel also uses TuxOnIce by default. |
379 |
%else |
380 |
%define summary_laptop Linux kernel for laptop use with %{_arch} |
381 |
%define info_laptop This kernel is compiled for laptop use, single or \ |
382 |
multiple %{_arch} processor(s)/core(s), using HZ_250 to save battery, \ |
383 |
voluntary preempt, BFS cpu scheduler, cfq i/o scheduler and some other \ |
384 |
laptop-specific optimizations. If you want to sacrifice battery life for \ |
385 |
performance, you better use the %{kname}-desktop. \ |
386 |
This kernel relies on in-kernel smp alternatives to switch between up & smp \ |
387 |
mode depending on detected hardware. To force the kernel to boot in single \ |
388 |
processor mode, use the "nosmp" boot parameter. \ |
389 |
NOTE! This kernel also uses TuxOnIce by default. |
390 |
%endif |
391 |
%mkflavour laptop |
392 |
%endif |
393 |
|
394 |
%if %build_realtime |
395 |
%ifarch %{ix86} |
396 |
%define summary_realtime Linux Kernel for desktop use with i686 & 4GB RAM |
397 |
%define info_realtime This kernel is compiled for desktop use, single or \ |
398 |
multiple i686 processor(s)/core(s) and less than 4GB RAM, using full \ |
399 |
preempt and realtime, BFS cpu scheduler and cfq i/o scheduler. \ |
400 |
This kernel relies on in-kernel smp alternatives to switch between up & smp \ |
401 |
mode depending on detected hardware. To force the kernel to boot in single \ |
402 |
processor mode, use the "nosmp" boot parameter. |
403 |
%else |
404 |
%define summary_realtime Linux Kernel for desktop use with %{_arch} |
405 |
%define info_realtime This kernel is compiled for desktop use, single or \ |
406 |
multiple %{_arch} processor(s)/core(s), using full preempt and realtime, \ |
407 |
BFS cpu scheduler and cfq i/o scheduler. \ |
408 |
This kernel relies on in-kernel smp alternatives to switch between up & smp \ |
409 |
mode depending on detected hardware. To force the kernel to boot in single \ |
410 |
processor mode, use the "nosmp" boot parameter. |
411 |
%endif |
412 |
%mkflavour realtime |
413 |
%endif |
414 |
|
415 |
# |
416 |
# kernel-server: i686, smp-alternatives, 64 GB /x86_64 |
417 |
# |
418 |
%if %build_server |
419 |
%ifarch %{ix86} |
420 |
%define summary_server Linux Kernel for server use with i686 & 64GB RAM |
421 |
%define info_server This kernel is compiled for server use, single or \ |
422 |
multiple i686 processor(s)/core(s) and up to 64GB RAM using PAE, using \ |
423 |
no preempt, BFS cpu scheduler and cfq i/o scheduler. \ |
424 |
This kernel relies on in-kernel smp alternatives to switch between up & smp \ |
425 |
mode depending on detected hardware. To force the kernel to boot in single \ |
426 |
processor mode, use the "nosmp" boot parameter. |
427 |
%else |
428 |
%define summary_server Linux Kernel for server use with %{_arch} |
429 |
%define info_server This kernel is compiled for server use, single or \ |
430 |
multiple %{_arch} processor(s)/core(s), using no preempt, BFS cpu scheduler \ |
431 |
and cfq i/o scheduler. \ |
432 |
This kernel relies on in-kernel smp alternatives to switch between up & smp \ |
433 |
mode depending on detected hardware. To force the kernel to boot in single \ |
434 |
processor mode, use the "nosmp" boot parameter. |
435 |
%endif |
436 |
%mkflavour server |
437 |
%endif |
438 |
|
439 |
# |
440 |
# kernel-source |
441 |
# |
442 |
%if %build_source |
443 |
%package -n %{kname}-source-%{buildrel} |
444 |
Version: %{fakever} |
445 |
Release: %{fakerel} |
446 |
Requires: glibc-devel, ncurses-devel, make, gcc, perl, diffutils |
447 |
Summary: The Linux source code for %{kname}-%{buildrel} |
448 |
Group: Development/Kernel |
449 |
Autoreqprov: no |
450 |
Provides: kernel-source = %{kverrel}, kernel-devel = %{kverrel} |
451 |
%ifarch %{ix86} |
452 |
Conflicts: arch(x86_64) |
453 |
%endif |
454 |
|
455 |
%description -n %{kname}-source-%{buildrel} |
456 |
The %{kname}-source package contains the source code files for the %{ktag} |
457 |
series Linux kernel. Theese source files are only needed if you want to |
458 |
build your own custom kernel that is better tuned to your particular hardware. |
459 |
|
460 |
If you only want the files needed to build 3rdparty (nVidia, Ati, dkms-*,...) |
461 |
drivers against, install the *-devel-* rpm that is matching your kernel. |
462 |
|
463 |
%common_description_info |
464 |
|
465 |
%post -n %{kname}-source-%{buildrel} |
466 |
for i in /lib/modules/%{kversion}-%{ktag}-*-%{buildrpmrel}; do |
467 |
if [ -d $i ]; then |
468 |
if [ ! -L $i/build -a ! -L $i/source ]; then |
469 |
ln -sf /usr/src/%{kversion}-%{ktag}-%{buildrpmrel} $i/build |
470 |
ln -sf /usr/src/%{kversion}-%{ktag}-%{buildrpmrel} $i/source |
471 |
fi |
472 |
fi |
473 |
done |
474 |
|
475 |
%preun -n %{kname}-source-%{buildrel} |
476 |
for i in /lib/modules/%{kversion}-%{ktag}-*-%{buildrpmrel}/{build,source}; do |
477 |
if [ -L $i ]; then |
478 |
if [ "$(readlink $i)" = "/usr/src/%{kversion}-%{ktag}-%{buildrpmrel}" ]; then |
479 |
rm -f $i |
480 |
fi |
481 |
fi |
482 |
done |
483 |
exit 0 |
484 |
|
485 |
# |
486 |
# kernel-source-latest: virtual rpm |
487 |
# |
488 |
%package -n %{kname}-source-latest |
489 |
Version: %{kversion} |
490 |
Release: %{rpmrel} |
491 |
Summary: Virtual rpm for latest %{kname}-source |
492 |
Group: Development/Kernel |
493 |
Requires: %{kname}-source-%{buildrel} |
494 |
%ifarch %{ix86} |
495 |
Conflicts: arch(x86_64) |
496 |
%endif |
497 |
|
498 |
%description -n %{kname}-source-latest |
499 |
This package is a virtual rpm that aims to make sure you always have the |
500 |
latest %{kname}-source installed... |
501 |
|
502 |
%common_description_info |
503 |
%endif |
504 |
|
505 |
# |
506 |
# kernel-doc: documentation for the Linux kernel |
507 |
# |
508 |
%if %build_doc |
509 |
%package -n %{kname}-doc |
510 |
Version: %{kversion} |
511 |
Release: %{rpmrel} |
512 |
Summary: Various documentation bits found in the %{kname} source |
513 |
Group: Books/Computer books |
514 |
Buildarch: noarch |
515 |
|
516 |
%description -n %{kname}-doc |
517 |
This package contains documentation files from the %{kname} source. |
518 |
Various bits of information about the Linux kernel and the device drivers |
519 |
shipped with it are documented in these files. You also might want install |
520 |
this package if you need a reference to the options that can be passed to |
521 |
Linux kernel modules at load time. |
522 |
|
523 |
%common_description_info |
524 |
%endif |
525 |
|
526 |
# |
527 |
# End packages - here begins build stage |
528 |
# |
529 |
%prep |
530 |
%setup -q -n %top_dir_name -c |
531 |
|
532 |
%setup -q -n %top_dir_name -D -T -a100 |
533 |
|
534 |
%define patches_dir ../%{patch_ver}/ |
535 |
|
536 |
cd %src_dir |
537 |
%if %kpatch |
538 |
%patch1 -p1 |
539 |
%endif |
540 |
%if %kgit |
541 |
%patch2 -p1 |
542 |
%endif |
543 |
%if %kstable |
544 |
%patch1 -p1 |
545 |
%endif |
546 |
|
547 |
%{patches_dir}/scripts/apply_patches |
548 |
|
549 |
|
550 |
# PATCH END |
551 |
|
552 |
# |
553 |
# Setup Begin |
554 |
# |
555 |
|
556 |
# Prepare all the variables for calling create_configs |
557 |
%if %build_debug |
558 |
%define debug --debug |
559 |
%else |
560 |
%define debug --no-debug |
561 |
%endif |
562 |
|
563 |
%{patches_dir}/scripts/create_configs %debug --user_cpu="%{_arch}" |
564 |
|
565 |
# make sure the kernel has the sublevel we know it has... |
566 |
LC_ALL=C perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile |
567 |
|
568 |
# get rid of unwanted files |
569 |
find . -name '*~' -o -name '*.orig' -o -name '*.append' |%kxargs rm -f |
570 |
|
571 |
|
572 |
%build |
573 |
# Common target directories |
574 |
%define _kerneldir /usr/src/%{kversion}-%{ktag}-%{buildrpmrel} |
575 |
%define _bootdir /boot |
576 |
%define _modulesdir /lib/modules |
577 |
|
578 |
# Directories definition needed for building |
579 |
%define temp_root %{build_dir}/temp-root |
580 |
%define temp_source %{temp_root}%{_kerneldir} |
581 |
%define temp_boot %{temp_root}%{_bootdir} |
582 |
%define temp_modules %{temp_root}%{_modulesdir} |
583 |
|
584 |
|
585 |
PrepareKernel() { |
586 |
name=$1 |
587 |
extension=$2 |
588 |
echo "Make dep for kernel $extension" |
589 |
%smake -s mrproper |
590 |
|
591 |
if [ -z "$name" ]; then |
592 |
cp arch/x86/configs/%{_arch}_defconfig-desktop .config |
593 |
else |
594 |
cp arch/x86/configs/%{_arch}_defconfig-$name .config |
595 |
fi |
596 |
|
597 |
# make sure EXTRAVERSION says what we want it to say |
598 |
%if %kstable |
599 |
LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = .%{kstable}-$extension/" Makefile |
600 |
%else |
601 |
LC_ALL=C perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -$extension/" Makefile |
602 |
%endif |
603 |
|
604 |
%smake oldconfig |
605 |
} |
606 |
|
607 |
|
608 |
BuildKernel() { |
609 |
KernelVer=$1 |
610 |
echo "Building kernel $KernelVer" |
611 |
|
612 |
%kmake all |
613 |
|
614 |
# Start installing stuff |
615 |
install -d %{temp_boot} |
616 |
install -m 644 System.map %{temp_boot}/System.map-$KernelVer |
617 |
install -m 644 .config %{temp_boot}/config-$KernelVer |
618 |
|
619 |
cp -f arch/%{_arch}/boot/bzImage %{temp_boot}/vmlinuz-$KernelVer |
620 |
|
621 |
# modules |
622 |
install -d %{temp_modules}/$KernelVer |
623 |
%smake INSTALL_MOD_PATH=%{temp_root} KERNELRELEASE=$KernelVer modules_install |
624 |
|
625 |
# remove /lib/firmware, we use a separate kernel-firmware |
626 |
rm -rf %{temp_root}/lib/firmware |
627 |
} |
628 |
|
629 |
|
630 |
SaveDevel() { |
631 |
devel_flavour=$1 |
632 |
|
633 |
DevelRoot=/usr/src/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel} |
634 |
TempDevelRoot=%{temp_root}$DevelRoot |
635 |
|
636 |
mkdir -p $TempDevelRoot |
637 |
for i in $(find . -name 'Makefile*'); do cp -R --parents $i $TempDevelRoot;done |
638 |
for i in $(find . -name 'Kconfig*' -o -name 'Kbuild*' -o -name config.mk); do cp -R --parents $i $TempDevelRoot;done |
639 |
cp -fR include $TempDevelRoot |
640 |
cp -fR scripts $TempDevelRoot |
641 |
%ifarch %{ix86} x86_64 |
642 |
cp -fR arch/x86/kernel/asm-offsets.{c,s} $TempDevelRoot/arch/x86/kernel/ |
643 |
cp -fR arch/x86/kernel/asm-offsets_{32,64}.c $TempDevelRoot/arch/x86/kernel/ |
644 |
cp -fR arch/x86/include $TempDevelRoot/arch/x86/ |
645 |
%else |
646 |
cp -fR arch/%{_arch}/kernel/asm-offsets.{c,s} $TempDevelRoot/arch/%{_arch}/kernel/ |
647 |
cp -fR arch/%{_arch}/include $TempDevelRoot/arch/%{_arch}/ |
648 |
%endif |
649 |
cp -fR kernel/bounds.c $TempDevelRoot/kernel/ |
650 |
cp -fR .config Module.symvers $TempDevelRoot |
651 |
cp -fR 3rdparty/mkbuild.pl $TempDevelRoot/3rdparty/ |
652 |
|
653 |
# Needed for truecrypt build (Danny) |
654 |
cp -fR drivers/md/dm.h $TempDevelRoot/drivers/md/ |
655 |
|
656 |
# Needed for lguest |
657 |
cp -fR drivers/lguest/lg.h $TempDevelRoot/drivers/lguest/ |
658 |
|
659 |
# Needed for lirc_gpio (Anssi Hannula, #39004, #54907) |
660 |
cp -fR drivers/media/video/bt8xx/bttv{,p}.h $TempDevelRoot/drivers/media/video/bt8xx/ |
661 |
cp -fR drivers/media/video/bt8xx/bt848.h $TempDevelRoot/drivers/media/video/bt8xx/ |
662 |
cp -fR drivers/media/video/btcx-risc.h $TempDevelRoot/drivers/media/video/ |
663 |
|
664 |
# Needed for external dvb tree (#41418) |
665 |
cp -fR drivers/media/dvb/dvb-core/*.h $TempDevelRoot/drivers/media/dvb/dvb-core/ |
666 |
cp -fR drivers/media/dvb/frontends/lgdt330x.h $TempDevelRoot/drivers/media/dvb/frontends/ |
667 |
|
668 |
# add acpica header files, needed for fglrx build |
669 |
cp -fR drivers/acpi/acpica/*.h $TempDevelRoot/drivers/acpi/acpica/ |
670 |
|
671 |
for i in alpha arm arm26 avr32 blackfin cris frv h8300 ia64 microblaze mips m32r m68k \ |
672 |
m68knommu mn10300 parisc powerpc ppc s390 sh sh64 score sparc tile v850 xtensa; do |
673 |
rm -rf $TempDevelRoot/arch/$i |
674 |
done |
675 |
|
676 |
%ifnarch %{ix86} x86_64 |
677 |
rm -rf $TempDevelRoot/arch/x86 |
678 |
%endif |
679 |
|
680 |
# Clean the scripts tree, and make sure everything is ok (sanity check) |
681 |
# running prepare+scripts (tree was already "prepared" in build) |
682 |
pushd $TempDevelRoot >/dev/null |
683 |
%smake -s prepare scripts clean |
684 |
popd >/dev/null |
685 |
|
686 |
rm -f $TempDevelRoot/.config.old |
687 |
|
688 |
# fix permissions |
689 |
chmod -R a+rX $TempDevelRoot |
690 |
|
691 |
# disable mrproper in -devel rpms |
692 |
patch -p1 -d $TempDevelRoot -i %{SOURCE2} |
693 |
|
694 |
kernel_devel_files=../kernel_devel_files.$devel_flavour |
695 |
|
696 |
|
697 |
### Create the kernel_devel_files.* |
698 |
cat > $kernel_devel_files <<EOF |
699 |
%defattr(-,root,root) |
700 |
%dir $DevelRoot |
701 |
%dir $DevelRoot/arch |
702 |
%dir $DevelRoot/include |
703 |
$DevelRoot/3rdparty |
704 |
$DevelRoot/Documentation |
705 |
$DevelRoot/arch/Kconfig |
706 |
$DevelRoot/arch/um |
707 |
%ifarch %{ix86} x86_64 |
708 |
$DevelRoot/arch/x86 |
709 |
%endif |
710 |
$DevelRoot/block |
711 |
$DevelRoot/crypto |
712 |
$DevelRoot/drivers |
713 |
$DevelRoot/firmware |
714 |
$DevelRoot/fs |
715 |
$DevelRoot/include/Kbuild |
716 |
$DevelRoot/include/acpi |
717 |
$DevelRoot/include/asm-generic |
718 |
$DevelRoot/include/config |
719 |
$DevelRoot/include/crypto |
720 |
$DevelRoot/include/drm |
721 |
$DevelRoot/include/generated |
722 |
$DevelRoot/include/keys |
723 |
$DevelRoot/include/linux |
724 |
$DevelRoot/include/math-emu |
725 |
$DevelRoot/include/media |
726 |
$DevelRoot/include/mtd |
727 |
$DevelRoot/include/net |
728 |
$DevelRoot/include/pcmcia |
729 |
$DevelRoot/include/rdma |
730 |
$DevelRoot/include/rxrpc |
731 |
$DevelRoot/include/scsi |
732 |
$DevelRoot/include/sound |
733 |
$DevelRoot/include/trace |
734 |
$DevelRoot/include/video |
735 |
$DevelRoot/include/xen |
736 |
$DevelRoot/init |
737 |
$DevelRoot/ipc |
738 |
$DevelRoot/kernel |
739 |
$DevelRoot/lib |
740 |
$DevelRoot/mm |
741 |
$DevelRoot/net |
742 |
$DevelRoot/samples |
743 |
$DevelRoot/scripts |
744 |
$DevelRoot/security |
745 |
$DevelRoot/sound |
746 |
$DevelRoot/tools |
747 |
$DevelRoot/usr |
748 |
$DevelRoot/virt |
749 |
$DevelRoot/.config |
750 |
$DevelRoot/Kbuild |
751 |
$DevelRoot/Kconfig |
752 |
$DevelRoot/Makefile |
753 |
$DevelRoot/Module.symvers |
754 |
%doc README.Mandriva_Linux_%{ktag} |
755 |
%doc README.kernel-%{ktag}-sources |
756 |
EOF |
757 |
|
758 |
|
759 |
### Create -devel Post script on the fly |
760 |
cat > $kernel_devel_files-post <<EOF |
761 |
if [ -d /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel} ]; then |
762 |
rm -f /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}/{build,source} |
763 |
ln -sf $DevelRoot /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}/build |
764 |
ln -sf $DevelRoot /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}/source |
765 |
fi |
766 |
EOF |
767 |
|
768 |
|
769 |
### Create -devel Preun script on the fly |
770 |
cat > $kernel_devel_files-preun <<EOF |
771 |
if [ -L /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}/build ]; then |
772 |
rm -f /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}/build |
773 |
fi |
774 |
if [ -L /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}$devel_cpu/source ]; then |
775 |
rm -f /lib/modules/%{kversion}-%{ktag}-$devel_flavour-%{buildrpmrel}/source |
776 |
fi |
777 |
exit 0 |
778 |
EOF |
779 |
} |
780 |
|
781 |
|
782 |
CreateFiles() { |
783 |
kernel_flavour=$1 |
784 |
|
785 |
kernel_files=../kernel_files.$kernel_flavour |
786 |
|
787 |
|
788 |
### Create the kernel_files.* |
789 |
cat > $kernel_files <<EOF |
790 |
%defattr(-,root,root) |
791 |
%{_bootdir}/System.map-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} |
792 |
%{_bootdir}/config-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} |
793 |
%{_bootdir}/vmlinuz-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} |
794 |
%dir %{_modulesdir}/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/ |
795 |
%{_modulesdir}/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/kernel |
796 |
%{_modulesdir}/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/modules.* |
797 |
%doc README.Mandriva_Linux_%{ktag} |
798 |
%doc README.kernel-%{ktag}-sources |
799 |
EOF |
800 |
|
801 |
|
802 |
### Create kernel Post script |
803 |
cat > $kernel_files-post <<EOF |
804 |
/sbin/installkernel -L %{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} |
805 |
pushd /boot > /dev/null |
806 |
if [ -L vmlinuz-%{ktag}-$kernel_flavour ]; then |
807 |
rm -f vmlinuz-%{ktag}-$kernel_flavour |
808 |
fi |
809 |
ln -sf vmlinuz-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} vmlinuz-%{ktag}-$kernel_flavour |
810 |
if [ -L initrd-%{ktag}-$kernel_flavour.img ]; then |
811 |
rm -f initrd-%{ktag}-$kernel_flavour.img |
812 |
fi |
813 |
ln -sf initrd-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}.img initrd-%{ktag}-$kernel_flavour.img |
814 |
popd > /dev/null |
815 |
%if %build_devel |
816 |
# create kernel-devel symlinks if matching -devel- rpm is installed |
817 |
if [ -d /usr/src/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} ]; then |
818 |
rm -f /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/{build,source} |
819 |
ln -sf /usr/src/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/build |
820 |
ln -sf /usr/src/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/source |
821 |
fi |
822 |
%endif |
823 |
%if %build_source |
824 |
# create kernel-source symlinks only if matching -devel- rpm is not installed |
825 |
if [ -d /usr/src/%{kversion}-%{ktag}-%{buildrpmrel} -a ! -d /usr/src/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} ]; then |
826 |
rm -f /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/{build,source} |
827 |
ln -sf /usr/src/%{kversion}-%{ktag}-%{buildrpmrel} /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/build |
828 |
ln -sf /usr/src/%{kversion}-%{ktag}-%{buildrpmrel} /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/source |
829 |
fi |
830 |
%endif |
831 |
EOF |
832 |
|
833 |
|
834 |
### Create kernel Preun script on the fly |
835 |
cat > $kernel_files-preun <<EOF |
836 |
/sbin/installkernel -R %{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} |
837 |
pushd /boot > /dev/null |
838 |
if [ -L vmlinuz-%{ktag}-$kernel_flavour ]; then |
839 |
if [ "$(readlink vmlinuz-%{ktag}-$kernel_flavour)" = "vmlinuz-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}" ]; then |
840 |
rm -f vmlinuz-%{ktag}-$kernel_flavour |
841 |
fi |
842 |
fi |
843 |
if [ -L initrd-%{ktag}-$kernel_flavour.img ]; then |
844 |
if [ "$(readlink initrd-%{ktag}-$kernel_flavour.img)" = "initrd-%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}.img" ]; then |
845 |
rm -f initrd-%{ktag}-$kernel_flavour.img |
846 |
fi |
847 |
fi |
848 |
popd > /dev/null |
849 |
%if %build_devel |
850 |
if [ -L /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/build ]; then |
851 |
rm -f /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/build |
852 |
fi |
853 |
if [ -L /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/source ]; then |
854 |
rm -f /lib/modules/%{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel}/source |
855 |
fi |
856 |
%endif |
857 |
exit 0 |
858 |
EOF |
859 |
|
860 |
|
861 |
### Create kernel Postun script on the fly |
862 |
cat > $kernel_files-postun <<EOF |
863 |
/sbin/kernel_remove_initrd %{kversion}-%{ktag}-$kernel_flavour-%{buildrpmrel} |
864 |
EOF |
865 |
} |
866 |
|
867 |
|
868 |
CreateKernel() { |
869 |
flavour=$1 |
870 |
|
871 |
PrepareKernel $flavour %{ktag}-$flavour-%{buildrpmrel} |
872 |
|
873 |
BuildKernel %{kversion}-%{ktag}-$flavour-%{buildrpmrel} |
874 |
%if %build_devel |
875 |
SaveDevel $flavour |
876 |
%endif |
877 |
CreateFiles $flavour |
878 |
} |
879 |
|
880 |
|
881 |
### |
882 |
# DO it... |
883 |
### |
884 |
|
885 |
|
886 |
# Create a simulacro of buildroot |
887 |
rm -rf %{temp_root} |
888 |
install -d %{temp_root} |
889 |
|
890 |
|
891 |
#make sure we are in the directory |
892 |
cd %src_dir |
893 |
|
894 |
%ifarch %{ix86} |
895 |
%if %build_desktop586 |
896 |
CreateKernel desktop586 |
897 |
%endif |
898 |
%endif |
899 |
|
900 |
%if %build_desktop |
901 |
CreateKernel desktop |
902 |
%endif |
903 |
|
904 |
%if %build_laptop |
905 |
CreateKernel laptop |
906 |
%endif |
907 |
|
908 |
%if %build_realtime |
909 |
CreateKernel realtime |
910 |
%endif |
911 |
|
912 |
%if %build_server |
913 |
CreateKernel server |
914 |
%endif |
915 |
|
916 |
|
917 |
# kernel-source is shipped as a clean source tree, with no preparation |
918 |
%if %build_source |
919 |
PrepareKernel "" %{buildrpmrel}%{ktag}custom |
920 |
%smake -s mrproper |
921 |
%endif |
922 |
|
923 |
|
924 |
### |
925 |
### install |
926 |
### |
927 |
%install |
928 |
install -m 644 %{SOURCE4} . |
929 |
install -m 644 %{SOURCE5} . |
930 |
|
931 |
cd %src_dir |
932 |
|
933 |
# Directories definition needed for installing |
934 |
%define target_source %{buildroot}%{_kerneldir} |
935 |
%define target_boot %{buildroot}%{_bootdir} |
936 |
%define target_modules %{buildroot}%{_modulesdir} |
937 |
|
938 |
# We want to be able to test several times the install part |
939 |
rm -rf %{buildroot} |
940 |
cp -a %{temp_root} %{buildroot} |
941 |
|
942 |
# Create directories infastructure |
943 |
%if %build_source |
944 |
install -d %{target_source} |
945 |
|
946 |
tar cf - . | tar xf - -C %{target_source} |
947 |
chmod -R a+rX %{target_source} |
948 |
|
949 |
# we remove all the source files that we don't ship |
950 |
# first architecture files |
951 |
for i in alpha arm arm26 avr32 blackfin cris frv h8300 ia64 microblaze mips m32r m68k \ |
952 |
m68knommu mn10300 parisc powerpc ppc s390 sh sh64 score sparc tile v850 xtensa; do |
953 |
rm -rf %{target_source}/arch/$i |
954 |
done |
955 |
|
956 |
%ifnarch %{ix86} x86_64 |
957 |
rm -rf %{target_source}/arch/x86 |
958 |
%endif |
959 |
|
960 |
# other misc files |
961 |
rm -f %{target_source}/{.config.old,.config.cmd,.mailmap,.missing-syscalls.d,arch/.gitignore} |
962 |
|
963 |
#endif %build_source |
964 |
%endif |
965 |
|
966 |
# We used to have a copy of PrepareKernel here |
967 |
# Now, we make sure that the thing in the linux dir is what we want it to be |
968 |
for i in %{target_modules}/*; do |
969 |
rm -f $i/build $i/source |
970 |
done |
971 |
|
972 |
# Create modules.description |
973 |
pushd %{target_modules} |
974 |
for i in *; do |
975 |
pushd $i |
976 |
echo "Creating modules.description for $i" |
977 |
modules=`find . -name "*.ko.gz"` |
978 |
echo $modules | %kxargs /sbin/modinfo \ |
979 |
| perl -lne 'print "$name\t$1" if $name && /^description:\s*(.*)/; $name = $1 if m!^filename:\s*(.*)\.k?o!; $name =~ s!.*/!!' > modules.description |
980 |
popd |
981 |
done |
982 |
popd |
983 |
|
984 |
|
985 |
### |
986 |
### clean |
987 |
### |
988 |
%clean |
989 |
rm -rf %{buildroot} |
990 |
|
991 |
|
992 |
# We don't want to remove this, the whole reason of its existence is to be |
993 |
# able to do several rpm --short-circuit -bi for testing install |
994 |
# phase without repeating compilation phase |
995 |
#rm -rf %{temp_root} |
996 |
|
997 |
### |
998 |
### source and doc file lists |
999 |
### |
1000 |
%if %build_source |
1001 |
%files -n %{kname}-source-%{buildrel} |
1002 |
%defattr(-,root,root) |
1003 |
%dir %{_kerneldir} |
1004 |
%dir %{_kerneldir}/arch |
1005 |
%dir %{_kerneldir}/include |
1006 |
%{_kerneldir}/3rdparty |
1007 |
%{_kerneldir}/Documentation |
1008 |
%{_kerneldir}/arch/Kconfig |
1009 |
%{_kerneldir}/arch/um |
1010 |
%ifarch %{ix86} x86_64 |
1011 |
%{_kerneldir}/arch/x86 |
1012 |
%endif |
1013 |
%{_kerneldir}/block |
1014 |
%{_kerneldir}/crypto |
1015 |
%{_kerneldir}/drivers |
1016 |
%{_kerneldir}/firmware |
1017 |
%{_kerneldir}/fs |
1018 |
%{_kerneldir}/include/Kbuild |
1019 |
%{_kerneldir}/include/acpi |
1020 |
%{_kerneldir}/include/asm-generic |
1021 |
%{_kerneldir}/include/crypto |
1022 |
%{_kerneldir}/include/drm |
1023 |
%{_kerneldir}/include/keys |
1024 |
%{_kerneldir}/include/linux |
1025 |
%{_kerneldir}/include/math-emu |
1026 |
%{_kerneldir}/include/media |
1027 |
%{_kerneldir}/include/mtd |
1028 |
%{_kerneldir}/include/net |
1029 |
%{_kerneldir}/include/pcmcia |
1030 |
%{_kerneldir}/include/rdma |
1031 |
%{_kerneldir}/include/rxrpc |
1032 |
%{_kerneldir}/include/scsi |
1033 |
%{_kerneldir}/include/sound |
1034 |
%{_kerneldir}/include/trace |
1035 |
%{_kerneldir}/include/video |
1036 |
%{_kerneldir}/include/xen |
1037 |
%{_kerneldir}/init |
1038 |
%{_kerneldir}/ipc |
1039 |
%{_kerneldir}/kernel |
1040 |
%{_kerneldir}/lib |
1041 |
%{_kerneldir}/mm |
1042 |
%{_kerneldir}/net |
1043 |
%{_kerneldir}/samples |
1044 |
%{_kerneldir}/scripts |
1045 |
%{_kerneldir}/security |
1046 |
%{_kerneldir}/sound |
1047 |
%{_kerneldir}/tools |
1048 |
%{_kerneldir}/usr |
1049 |
%{_kerneldir}/virt |
1050 |
%{_kerneldir}/.gitignore |
1051 |
%{_kerneldir}/COPYING |
1052 |
%{_kerneldir}/CREDITS |
1053 |
%{_kerneldir}/Kbuild |
1054 |
%{_kerneldir}/Kconfig |
1055 |
%{_kerneldir}/MAINTAINERS |
1056 |
%{_kerneldir}/Makefile |
1057 |
%{_kerneldir}/README |
1058 |
%{_kerneldir}/REPORTING-BUGS |
1059 |
%doc README.Mandriva_Linux_%{ktag} |
1060 |
%doc README.kernel-%{ktag}-sources |
1061 |
|
1062 |
%files -n %{kname}-source-latest |
1063 |
%defattr(-,root,root) |
1064 |
%endif |
1065 |
|
1066 |
%if %build_doc |
1067 |
%files -n %{kname}-doc |
1068 |
%defattr(-,root,root) |
1069 |
%doc linux-%{tar_ver}/Documentation/* |
1070 |
%endif |
1071 |
|