/[packages]/cauldron/kernel/current/SPECS/kernel.spec
ViewVC logotype

Contents of /cauldron/kernel/current/SPECS/kernel.spec

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.30