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

  ViewVC Help
Powered by ViewVC 1.1.30