3 # the following bcond combos will not work
4 # - without_vserver and any of the following
7 # LATEST VERSION CHECKER:
8 # # curl -s http://www.kernel.org/kdist/finger_banner
11 # - benchmark NO_HZ & HZ=1000 vs HZ=300 on i686
13 # HOWTO update configuration files:
15 # - add new options to proper config (kernel-multiarch.config, kernel-x86.config, kernel-powerpc.config etc)
16 # - sort configuration files using:
17 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version}/ -a x86 kernel-x86.config
18 # ./kernel-config-sort.pl ~/rpm/BUILD/kernel-%{version}/linux-%{version} kernel-multiarch.config
21 %bcond_without source # don't build kernel-source package
22 %bcond_without doc # don't build kernel-doc package
23 %bcond_without pcmcia # don't build pcmcia
25 %bcond_with verbose # verbose build (V=1)
26 %bcond_with reiser4 # support for reiser4 fs (experimental)
28 %bcond_without grsecurity # don't build grsecurity nor pax at all
29 %bcond_with pax # build pax and grsecurity (ie. grsecurity && pax)
31 %bcond_with fbcondecor # build fbcondecor (disable FB_TILEBLITTING and affected fb modules)
32 %bcond_with pae # build PAE (HIGHMEM64G) support on uniprocessor
33 %bcond_with nfsroot # build with root on NFS support
34 %bcond_with virtio_gl # build with virtio_gl thats avaible under guest OS with patched qemu (qemu-gl.spec)
36 %bcond_without imq # imq support
37 %bcond_without wrr # wrr support
38 %bcond_without esfq # esfq support
39 %bcond_without ipv6 # ipv6 support
41 %bcond_without vserver # support for VServer (enabled by default)
42 %bcond_without tuxonice # support for tuxonice (ex-suspend2) (enabled by default)
44 %bcond_with rescuecd # build kernel for our rescue
46 %bcond_with myown # build with your own config (kernel-myown.config)
48 %{?debug:%define with_verbose 1}
50 %if %{without grsecurity}
55 %define with_grsecurity 1
60 %define with_virtiogl 1
69 %unglobal with_tuxonice
70 %unglobal with_grsecurity
72 %unglobal with_vserver
94 %define basever 2.6.37
98 %define _enable_debug_packages 0
100 %define tuxonice_version 3.2
101 %define netfilter_snap 20070806
104 %if "%{_alt_kernel}" == ""
105 %define alt_kernel myown
108 %if %{without rescuecd}
109 %define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}%{?with_virtiogl:virtiogl}
110 %if "%{__alt_kernel}" != ""
111 %define alt_kernel %{__alt_kernel}
114 %define alt_kernel rescuecd
118 # kernel release (used in filesystem and eventually in uname -r)
119 # modules will be looked from /lib/modules/%{kernel_release}
120 # localversion is just that without version for "> localversion"
121 %define localversion %{rel}
122 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
124 Summary: The Linux kernel (the core of the Linux operating system)
125 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
126 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
127 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
128 Summary(pl.UTF-8): JÄ…dro Linuksa
129 Name: kernel%{_alt_kernel}
130 Version: %{basever}%{postver}
135 Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
136 # Source0-md5: c8ee37b4fdccdb651e0603d35350b434
137 %if "%{postver}" != "%{nil}"
138 Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
139 # Source1-md5: 7693d1d32ed39346cc988e0f027e5890
142 Source3: kernel-autoconf.h
143 Source4: kernel-config.h
144 Source6: kernel-config.awk
145 Source7: kernel-module-build.pl
146 Source8: kernel-track-config-change.awk
147 # not used by kernel.spec, but it's good to have it in SOURCES
148 Source9: kernel-config-sort.pl
149 Source10: kernel.make
151 Source20: kernel-multiarch.config
152 Source21: kernel-x86.config
153 Source22: kernel-sparc.config
154 Source23: kernel-alpha.config
155 Source24: kernel-powerpc.config
156 Source25: kernel-ia64.config
158 Source40: kernel-netfilter.config
159 Source41: kernel-patches.config
160 Source42: kernel-tuxonice.config
161 Source43: kernel-vserver.config
162 Source45: kernel-grsec.config
164 Source49: kernel-pax.config
165 Source50: kernel-no-pax.config
166 Source55: kernel-imq.config
167 Source56: kernel-reiser4.config
168 Source57: kernel-wrr.config
170 Source58: kernel-inittmpfs.config
171 Source59: kernel-bzip2-lzma.config
173 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
174 Patch3: kernel-fbcondecor.patch
175 Patch4: kernel-fbcon-margins.patch
176 Patch5: linux-wistron-amilo8210.patch
178 # netfilter related stuff mostly based on patch-o-matic-ng
179 # snapshot 20070806 with some fixes. Some modules
180 # were ported to nf_conntrack.
182 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
183 Patch11: kernel-pom-ng-ipv4options.patch
185 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
186 Patch22: kernel-pom-ng-rsh.patch
187 Patch23: kernel-pom-ng-rpc.patch
189 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
190 Patch36: kernel-nf_rtsp.patch
192 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
193 Patch37: kernel-owner-xid.patch
195 # based on kernel-2.6.25-layer7-2.20.patch from
196 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
197 Patch40: kernel-layer7.patch
201 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
202 Patch49: kernel-zph.patch
204 # based on http://www.linuximq.net/patchs/linux-2.6.35-imq-multiqueue-test1.diff
205 Patch50: kernel-imq.patch
207 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
208 Patch51: kernel-reiser4.patch
210 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
211 Patch52: kernel-wrr.patch
213 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
214 Patch53: kernel-esfq.patch
216 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
217 Patch54: kernel-toshiba_acpi.patch
219 # by Baggins request:
220 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
221 Patch55: kernel-atm-vbr.patch
222 Patch56: kernel-atmdd.patch
224 # https://trac.pentoo.ch/pentoo/export/1600/kernel/trunk/2.6/2.6.34/4305_sqlzma.patch
225 Patch57: kernel-squashfs-lzma.patch
227 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
228 Patch59: kernel-rndis_host-wm5.patch
230 # Project suspend2 renamed to tuxonice
231 # http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
232 Patch69: kernel-tuxonice.patch
233 Patch70: kernel-tuxonice-headers.patch
235 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
236 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
237 Patch85: kernel-hostap.patch
239 # http://vserver.13thfloor.at/Experimental/patch-2.6.37-vs2.3.0.37-rc3.diff
240 Patch100: kernel-vserver-2.3.patch
241 Patch101: kernel-vserver-fixes.patch
243 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
244 # Fix verified for that kernel version.
245 Patch130: kernel-forcedeth-WON.patch
247 # add tty ioctl to figure physical device of the console. used by showconsole.spec (blogd)
248 # raw from http://download.opensuse.org/update/11.2/rpm/src/kernel-source-2.6.31.12-0.2.1.src.rpm
249 # from patches.fixes.tar.bz2
250 # from patches.fixes/tiocgdev
251 Patch131: kernel-TIOCGDEV.patch
253 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.7_for_2.6.36.diff.gz
254 Patch140: kernel-unionfs.patch
256 # http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
258 # git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
259 # cd aufs2-standalone
260 # git checkout -b aufs2.1-35 origin/aufs2.1-35
261 # cat aufs2-kbuild.patch aufs2-base.patch aufs2-standalone.patch > ~/rpm/packages/kernel/kernel-aufs2.patch
263 # cp -a Documentation fs include linux
264 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs2.patch
266 # NOTE: temporaily from http://livenet.selfip.com/ftp/debian/aufs2.1-36/ until upstream catches up with 2.6.36
268 Patch145: kernel-aufs2.patch
269 Patch146: kernel-aufs2-unionfs.patch
270 Patch147: kernel-aufs2-no-const-grsec.patch
271 Patch148: kernel-aufs2-reiser4.patch
273 # Show normal colors in menuconfig with ncurses ABI 6
274 Patch250: kernel-fix_256colors_menuconfig.patch
276 # The following patch extend the routing functionality in Linux
277 # to support static routes (defined by user), new way to use the
278 # alternative routes, the reverse path protection (rp_filter),
279 # the NAT processing to use correctly the routing when multiple
281 # http://www.ssi.bg/~ja/routes-2.6.37-16.diff
282 Patch300: kernel-routes.patch
284 Patch2000: kernel-small_fixes.patch
285 Patch2001: kernel-pwc-uncompress.patch
286 Patch2003: kernel-regressions.patch
288 # kill some thousands of warnings
289 # (only warnings, so just remove parts of this patch if conflics)
290 Patch2500: kernel-warnings.patch
292 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
293 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
294 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
295 Patch5000: kernel-apparmor.patch
298 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
299 Patch7000: kernel-inittmpfs.patch
301 # based on http://www.grsecurity.net/~spender/grsecurity-2.2.1-2.6.37-201102152009.patch
302 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
303 # (since upstream deletes older patches)
304 Patch9999: kernel-grsec_full.patch
305 Patch10000: kernel-grsec-caps.patch
306 Patch10001: kernel-grsec-common.patch
307 Patch10002: kernel-grsec_fixes.patch
309 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
310 # kernel.spec every time.
311 #Patch50000: kernel-usb_reset.patch
312 Patch60000: kernel-virtio-gl-accel.patch
314 URL: http://www.kernel.org/
315 BuildRequires: binutils >= 3:2.18
316 %ifarch sparc sparc64
317 BuildRequires: elftoaout
320 BuildRequires: uboot-mkimage
322 BuildRequires: /sbin/depmod
323 BuildRequires: gcc >= 5:3.2
324 BuildRequires: xz >= 1:4.999.7
326 # for hostname command
327 BuildRequires: module-init-tools >= 3.5
328 BuildRequires: net-tools
329 BuildRequires: perl-base
330 BuildRequires: rpm-build >= 4.5-24
331 BuildRequires: rpmbuild(macros) >= 1.217
332 Requires(post): coreutils
333 Requires(post): geninitrd >= 10000-3
334 Requires(post): module-init-tools >= 0.9.9
335 Requires: /sbin/depmod
337 Requires: geninitrd >= 10000-3
338 Requires: module-init-tools >= 0.9.9
340 Provides: %{name}(netfilter) = %{netfilter_snap}
341 Provides: %{name}(vermagic) = %{kernel_release}
342 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
343 Obsoletes: kernel-firmware
344 Obsoletes: kernel-misc-acer_acpi
345 Obsoletes: kernel-misc-fuse
346 Obsoletes: kernel-misc-uvc
347 Obsoletes: kernel-modules
348 Obsoletes: kernel-net-ar81
349 Obsoletes: kernel-net-hostap
350 Obsoletes: kernel-net-ieee80211
351 Obsoletes: kernel-net-ipp2p
352 Obsoletes: kernel-net-rt61
353 Obsoletes: kernel-smp
354 Conflicts: e2fsprogs < 1.29
355 Conflicts: isdn4k-utils < 3.1pre1
356 Conflicts: jfsutils < 1.1.3
357 Conflicts: lvm2 < 2.02.40
358 Conflicts: module-init-tools < 0.9.10
359 Conflicts: nfs-utils < 1.0.5
360 Conflicts: oprofile < 0.9
361 Conflicts: ppp < 1:2.4.0
362 Conflicts: procps < 3.2.0
363 Conflicts: quota-tools < 3.09
364 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
365 Conflicts: reiserfsprogs < 3.6.3
366 Conflicts: rpm < 4.4.2-0.2
367 Conflicts: udev < 1:081
368 Conflicts: util-linux < 2.10o
369 Conflicts: util-vserver < 0.30.216
370 Conflicts: xfsprogs < 2.6.0
372 ExcludeArch: i386 i486 i586
374 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
377 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
379 %ifarch %{ix86} %{x8664}
380 %define target_arch_dir x86
383 %define target_arch_dir powerpc
385 %ifarch sparc sparc64
386 %define target_arch_dir sparc
388 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
389 %define target_arch_dir %{_target_base_arch}
392 %define defconfig arch/%{target_arch_dir}/defconfig
394 # No ELF objects there to strip (skips processing 27k files)
395 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
396 %define _noautochrpath .*%{_kernelsrcdir}/.*
399 %define initrd_dir /boot/efi
401 %define initrd_dir /boot
404 %define topdir %{_builddir}/%{name}-%{version}
405 %define srcdir %{topdir}/linux-%{basever}
406 %define objdir %{topdir}/%{targetobj}
407 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
409 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
411 %if "%{_target_base_arch}" != "%{_arch}"
412 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
413 %define DepMod /bin/true
415 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
416 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
417 %define DepMod /sbin/depmod
420 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
421 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
422 %define DepMod /sbin/depmod
425 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
426 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
427 %define DepMod /sbin/depmod
430 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
431 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
435 %define CrossOpts ARCH=powerpc CC="%{__cc}"
437 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
439 %define DepMod /sbin/depmod
441 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
443 %define __features Netfilter module dated: %{netfilter_snap}\
444 %{?with_grsecurity:Grsecurity support - enabled}\
445 %{?with_pax:PaX support - enabled}\
446 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
447 %{?with_nfsroot:Root on NFS - enabled}\
448 %{?with_virtiogl:virtio_gl for qemu-gl guest OpenGL accel - enabled}\
450 %define Features %(echo "%{__features}" | sed '/^$/d')
453 This package contains the Linux kernel that is used to boot and run
454 your system. It contains few device drivers for specific hardware.
455 Most hardware is instead supported by modules loaded after booting.
459 %description -l de.UTF-8
460 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
461 Linux-Betriebssystems. Der Kernel ist für grundliegende
462 Systemfunktionen verantwortlich: Speicherreservierung,
463 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
467 %description -l fr.UTF-8
468 Le package kernel contient le kernel linux (vmlinuz), la partie
469 centrale d'un système d'exploitation Linux. Le noyau traite les
470 fonctions basiques d'un système d'exploitation: allocation mémoire,
471 allocation de process, entrée/sortie de peripheriques, etc.
475 %description -l pl.UTF-8
476 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
477 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
478 się w komputerze, takiego jak sterowniki dysków itp.
483 Summary: vmlinux - uncompressed kernel image
484 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
485 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
487 Obsoletes: kernel-smp-vmlinux
490 vmlinux - uncompressed kernel image.
492 %description vmlinux -l de.UTF-8
493 vmlinux - dekompressiertes Kernel Bild.
495 %description vmlinux -l pl.UTF-8
496 vmlinux - rozpakowany obraz jÄ…dra.
499 Summary: DRM kernel modules
500 Summary(de.UTF-8): DRM Kernel Treiber
501 Summary(pl.UTF-8): Sterowniki DRM
503 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
504 Requires: %{name} = %{epoch}:%{version}-%{release}
505 Obsoletes: kernel-smp-drm
511 %description drm -l de.UTF-8
514 %description drm -l pl.UTF-8
518 Summary: PCMCIA modules
519 Summary(de.UTF-8): PCMCIA Module
520 Summary(pl.UTF-8): Moduły PCMCIA
522 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
523 Requires: %{name} = %{epoch}:%{version}-%{release}
524 Obsoletes: kernel-smp-pcmcia
525 Conflicts: pcmcia-cs < 3.1.21
526 Conflicts: pcmciautils < 004
532 %description pcmcia -l de.UTF-8
535 %description pcmcia -l pl.UTF-8
539 Summary: ALSA kernel modules
540 Summary(de.UTF-8): ALSA Kernel Module
541 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
543 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
544 Requires: %{name} = %{epoch}:%{version}-%{release}
545 Obsoletes: kernel-smp-sound-alsa
548 %description sound-alsa
549 ALSA (Advanced Linux Sound Architecture) sound drivers.
551 %description sound-alsa -l de.UTF-8
552 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
554 %description sound-alsa -l pl.UTF-8
555 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
558 Summary: OSS kernel modules
559 Summary(de.UTF-8): OSS Kernel Module
560 Summary(pl.UTF-8): Sterowniki dźwięku OSS
562 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
563 Requires: %{name} = %{epoch}:%{version}-%{release}
564 Obsoletes: kernel-smp-sound-oss
567 %description sound-oss
568 OSS (Open Sound System) drivers.
570 %description sound-oss -l de.UTF-8
571 OSS (Open Sound System) Treiber.
573 %description sound-oss -l pl.UTF-8
574 Sterowniki dźwięku OSS (Open Sound System).
577 Summary: Header files for the Linux kernel
578 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
579 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
580 Group: Development/Building
581 Provides: %{name}-headers(netfilter) = %{netfilter_snap}
585 These are the C header files for the Linux kernel, which define
586 structures and constants that are needed when rebuilding the kernel or
587 building kernel modules.
589 %description headers -l de.UTF-8
590 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
591 Strukturen und Konstante beinhalten, die beim rekompilieren des
592 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
594 %description headers -l pl.UTF-8
595 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
596 oraz budowania modułów jądra.
598 %package module-build
599 Summary: Development files for building kernel modules
600 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
601 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
602 Group: Development/Building
603 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
604 Conflicts: rpmbuild(macros) < 1.550
607 %description module-build
608 Development files from kernel source tree needed to build Linux kernel
609 modules from external packages.
611 %description module-build -l de.UTF-8
612 Development Dateien des Linux-Kernels die beim kompilieren externer
613 Kernel Module gebraucht werden.
615 %description module-build -l pl.UTF-8
616 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
617 Linuksa z zewnętrznych pakietów.
620 Summary: Kernel source tree
621 Summary(de.UTF-8): Der Kernel Quelltext
622 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
623 Group: Development/Building
624 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
628 This is the source code for the Linux kernel. You can build a custom
629 kernel that is better tuned to your particular hardware.
631 %description source -l de.UTF-8
632 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
633 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
634 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
635 im Kernel-Source definiert sind. Die Source-Dateien können auch
636 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
637 Hardware ausgerichtet ist.
639 %description source -l fr.UTF-8
640 Le package pour le kernel-source contient le code source pour le noyau
641 linux. Ces sources sont nécessaires pour compiler la plupart des
642 programmes C, car il dépend de constantes définies dans le code
643 source. Les sources peuvent être aussi utilisée pour compiler un noyau
644 personnalisé pour avoir de meilleures performances sur des matériels
647 %description source -l pl.UTF-8
648 Pakiet zawiera kod źródłowy jądra systemu.
651 Summary: Kernel documentation
652 Summary(de.UTF-8): Kernel Dokumentation
653 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
658 This is the documentation for the Linux kernel, as found in
659 /usr/src/linux/Documentation directory.
661 %description doc -l de.UTF-8
662 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
663 Verzeichniss vorgefunden werden kann.
665 %description doc -l pl.UTF-8
666 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
667 /usr/src/linux/Documentation.
670 Summary: WAN Multiprotocol Router Module
671 Summary(pl.UTF-8): WAN Multiprotocol Router Module
673 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
674 Requires: %{name} = %{epoch}:%{version}-%{release}
677 %description wanrouter
678 WAN Multiprotocol Router Module.
680 %description wanrouter -l pl.UTF-8
681 WAN Multiprotocol Router Module.
685 ln -s %{SOURCE7} kernel-module-build.pl
686 ln -s %{SOURCE10} Makefile
689 # hack against warning in pax/grsec
690 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
692 %if "%{postver}" != "%{nil}"
693 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
702 %if %{with fbcondecor}
711 # kernel-pom-ng-IPV4OPTSSTRIP.patch
714 # kernel-pom-ng-ipv4options.patch
717 # kernel-pom-ng-mms-conntrack-nat.patch
720 # kernel-pom-ng-rsh.patch
723 # kernel-pom-ng-rpc.patch
726 # kernel-nf_rtsp.patch
729 # kernel-owner-xid.patch
734 # kernel-layer7.patch
767 # squashfs lzma support
770 # kernel-rndis_host-wm5.patch
773 # hostap enhancements from/for aircrack-ng
803 # grsecurity & pax stuff
806 %if %{with grsecurity}
808 # aufs2 needs to modify those pointers
810 %{?with_vserver:%patch10000 -p1}
811 %{?with_vserver:%patch10001 -p1}
812 %{?with_vserver:%patch10002 -p1}
815 # end of grsecurity & pax stuff
830 # Do not remove this, please!
832 %{?with_virtiogl:%patch60000 -p1}
834 # Fix EXTRAVERSION in main Makefile
835 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
837 # cleanup backups after patching
838 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
842 cat > %{targetobj}.mk <<'EOF'
843 # generated by %{name}.spec
844 KERNELSRC := %{srcdir}
845 KERNELOUTPUT := %{objdir}
847 SRCARCH := %{target_arch_dir}
848 ARCH := %{_target_base_arch}
849 Q := %{!?with_verbose:@}
850 MAKE_OPTS := %{MakeOpts}
851 DEFCONFIG := %{defconfig}
858 CONFIG_PAX_SEGMEXEC=y
859 # performance impact on CPUs without NX bit
860 CONFIG_PAX_PAGEEXEC=n
863 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
869 CONFIG_PAX_NOELFRELOCS=n
872 CONFIG_PAX_EMUTRAMP=y
873 CONFIG_PAX_EMUSIGRT=y
877 %ifarch sparc sparc64 alpha
881 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
882 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
883 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
884 # PAX_HOOK_ACL_FLAGS.
886 %if %{with grsecurity}
887 # Hardening grsec options if with pax
888 CONFIG_GRKERNSEC_PROC_MEMMAP=y
889 # almost rational (see HIDESYM help)
890 CONFIG_GRKERNSEC_HIDESYM=y
892 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
894 CONFIG_PAX_HAVE_ACL_FLAGS=n
895 CONFIG_PAX_HOOK_ACL_FLAGS=y
905 # CONFIG_SOUND is not set
906 # CONFIG_AUDIT is not set
907 # CONFIG_TR is not set
908 # CONFIG_BT is not set
909 # CONFIG_VIDEO_DEV is not set
910 # CONFIG_DVB_CORE is not set
911 # CONFIG_HAMRADIO is not set
912 # CONFIG_ARCNET is not set
913 # CONFIG_FB is not set
914 # CONFIG_DRM is not set
915 # CONFIG_WATCHDOG is not set
916 # CONFIG_INPUT_JOYSTICK is not set
917 # CONFIG_DEBUG_KERNEL is not set
918 # CONFIG_ISDN is not set
919 # CONFIG_AGP is not set
920 # CONFIG_SECURITY is not set
921 # CONFIG_PARIDE is not set
922 # CONFIG_CPU_FREQ is not set
923 # CONFIG_GAMEPORT is not set
924 # CONFIG_KVM is not set
925 # CONFIG_PHONE is not set
926 # CONFIG_STRICT_DEVMEM is not set
927 # CONFIG_IMA is not set
930 CONFIG_AUFS_BR_RAMFS=y
932 CONFIG_BLK_DEV_LOOP=y
945 Config="kernel-%{target_arch_dir}.config"
946 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
948 # prepare local and important options
949 cat <<-EOCONFIG > important.config
950 LOCALVERSION="-%{localversion}"
954 CONFIG_DEBUG_SLAB_LEAK=y
955 CONFIG_DEBUG_PREEMPT=y
956 CONFIG_RT_DEADLOCK_DETECT=y
963 %ifarch i686 athlon pentium3 pentium4
972 %if %{without pcmcia}
976 %if %{with fbcondecor}
980 CONFIG_FB_TILEBLITTING=n
981 CONFIG_FB_CON_DECOR=y
989 %if %{with virtio_gl}
993 # Temporary disabled RELOCATABLE. Needed only on x86??
994 %if %{with pax} || %{with grsecurity}
1000 RescueConfig rescue.config
1003 PaXconfig pax.config
1006 # prepare kernel-style config file from multiple config files
1007 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
1009 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
1012 %if %{with rescuecd}
1023 %if %{with grsecurity}
1041 %if %{with tuxonice}
1042 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1046 %{SOURCE40} %{?0:netfilter} \
1047 %{SOURCE41} %{?0:patches} \
1049 $RPM_SOURCE_DIR/$Config
1053 install -d arch/%{target_arch_dir}
1054 BuildConfig > %{defconfig}
1055 ln -sf %{defconfig} .config
1059 TARGETOBJ=%{targetobj} \
1060 %{?with_verbose:V=1} \
1063 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1067 TARGETOBJ=%{targetobj} \
1068 %{?with_verbose:V=1} \
1072 rm -rf $RPM_BUILD_ROOT
1073 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1075 %{?with_verbose:V=1} \
1077 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1078 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1079 KERNELRELEASE=%{kernel_release}
1081 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1083 # create directories which may be missing, to simplyfy %files
1084 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1086 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1087 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1088 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1090 # no point embed content for %ghost files. empty them
1095 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1097 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1098 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1102 install -d $RPM_BUILD_ROOT/boot
1103 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1104 %ifarch %{ix86} %{x8664}
1105 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1106 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1109 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1110 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1113 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1114 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1115 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1117 %ifarch alpha sparc sparc64
1118 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1119 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1120 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1122 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1123 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1126 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1127 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1131 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1135 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1137 %if "%{_target_base_arch}" != "%{_arch}"
1138 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1142 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1145 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1146 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1147 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1149 rm -f $RPM_BUILD_ROOT/COPYING
1152 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1153 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1154 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1155 cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
1156 cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1157 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1158 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1159 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1161 # collect module-build files and directories
1162 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1164 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1165 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1168 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1169 install -d $RPM_BUILD_ROOT%{_docdir}
1170 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1172 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1173 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1174 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1175 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1178 rm -rf $RPM_BUILD_ROOT
1181 if [ -x /sbin/new-kernel-pkg ]; then
1182 /sbin/new-kernel-pkg --remove %{kernel_release}
1187 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1188 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1189 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1190 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1192 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1193 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1194 mv -f /boot/System.map{,.old} 2> /dev/null
1195 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1196 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1197 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1198 ln -sf System.map-%{kernel_release} /boot/System.map
1199 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1201 %depmod %{kernel_release}
1204 # generate initrd after all dependant modules are installed
1205 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1206 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1207 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1208 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1209 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1211 # update boot loaders when old package files are gone from filesystem
1212 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1213 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1214 /sbin/update-grub >/dev/null
1217 if [ -x /sbin/new-kernel-pkg ]; then
1218 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1220 if [ -x /sbin/rc-boot ]; then
1221 /sbin/rc-boot 1>&2 || :
1225 mv -f /boot/vmlinux{,.old} 2> /dev/null
1226 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1227 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1228 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1231 %depmod %{kernel_release}
1234 %depmod %{kernel_release}
1237 %depmod %{kernel_release}
1240 %depmod %{kernel_release}
1243 %depmod %{kernel_release}
1246 %depmod %{kernel_release}
1249 %depmod %{kernel_release}
1252 %depmod %{kernel_release}
1255 %depmod %{kernel_release}
1258 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1261 if [ "$1" = "0" ]; then
1262 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1263 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1264 rm -f %{_prefix}/src/linux%{_alt_kernel}
1269 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1270 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1271 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1273 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1274 if [ "$1" = 0 ]; then
1275 rm -f /lib/modules/%{kernel_release}/{build,source}
1279 %defattr(644,root,root,755)
1280 %ifarch sparc sparc64
1281 /boot/vmlinux.aout-%{kernel_release}
1284 /boot/efi/vmlinuz-%{kernel_release}
1286 /boot/vmlinuz-%{kernel_release}
1287 /boot/System.map-%{kernel_release}
1288 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1289 /lib/firmware/%{kernel_release}
1291 %dir /lib/modules/%{kernel_release}
1292 %dir /lib/modules/%{kernel_release}/kernel
1293 /lib/modules/%{kernel_release}/kernel/arch
1294 /lib/modules/%{kernel_release}/kernel/crypto
1295 /lib/modules/%{kernel_release}/kernel/drivers
1297 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1299 /lib/modules/%{kernel_release}/kernel/fs
1300 /lib/modules/%{kernel_release}/kernel/kernel
1301 /lib/modules/%{kernel_release}/kernel/lib
1302 /lib/modules/%{kernel_release}/kernel/net
1303 /lib/modules/%{kernel_release}/kernel/mm
1305 %exclude /lib/modules/%{kernel_release}/kernel/net/wanrouter/wanrouter.ko*
1308 %dir /lib/modules/%{kernel_release}/kernel/sound
1309 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1310 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1312 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1313 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1314 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1317 %dir /lib/modules/%{kernel_release}/misc
1319 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1320 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1321 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1322 %if %{without rescuecd}
1323 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1324 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1325 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1326 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1327 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1328 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1330 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1331 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1332 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1333 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1334 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1335 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1336 %exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1337 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1340 /lib/modules/%{kernel_release}/kernel/sound
1343 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1346 /lib/modules/%{kernel_release}/modules.order
1347 /lib/modules/%{kernel_release}/modules.builtin
1349 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1350 %ghost /lib/modules/%{kernel_release}/modules.alias
1351 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1352 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1353 %ghost /lib/modules/%{kernel_release}/modules.dep
1354 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1355 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1356 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1357 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1358 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1359 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1360 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1361 %ghost /lib/modules/%{kernel_release}/modules.symbols
1362 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1363 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1365 # symlinks pointing to kernelsrcdir
1366 %ghost /lib/modules/%{kernel_release}/build
1367 %ghost /lib/modules/%{kernel_release}/source
1369 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1371 %defattr(644,root,root,755)
1372 /boot/vmlinux-%{kernel_release}
1377 %defattr(644,root,root,755)
1378 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1383 %defattr(644,root,root,755)
1384 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1385 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1386 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1387 %if %{without rescuecd}
1388 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1389 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1390 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1391 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1393 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1394 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1395 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1396 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1397 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1398 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1399 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1400 /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1401 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1406 %defattr(644,root,root,755)
1407 /lib/modules/%{kernel_release}/kernel/sound
1408 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1409 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1410 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1412 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1415 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1416 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1417 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1418 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1423 %defattr(644,root,root,755)
1424 /lib/modules/%{kernel_release}/kernel/sound/oss
1428 %files headers -f files.headers_exclude_kbuild
1429 %defattr(644,root,root,755)
1430 %dir %{_kernelsrcdir}
1431 %{_kernelsrcdir}/include
1432 %dir %{_kernelsrcdir}/arch
1433 %dir %{_kernelsrcdir}/arch/[!K]*
1434 %{_kernelsrcdir}/arch/*/include
1435 %dir %{_kernelsrcdir}/security
1436 %dir %{_kernelsrcdir}/security/selinux
1437 %{_kernelsrcdir}/security/selinux/include
1438 %{_kernelsrcdir}/config-dist
1439 %{_kernelsrcdir}/Module.symvers-dist
1441 %files module-build -f files.mb_include_modulebuild_and_dirs
1442 %defattr(644,root,root,755)
1444 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1446 %exclude %dir %{_kernelsrcdir}/arch/m68knommu
1447 %exclude %dir %{_kernelsrcdir}/arch/um
1448 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1449 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1450 %{_kernelsrcdir}/drivers/lguest/lg.h
1451 %{_kernelsrcdir}/kernel/bounds.c
1452 %dir %{_kernelsrcdir}/scripts
1453 %{_kernelsrcdir}/scripts/Kbuild.include
1454 %{_kernelsrcdir}/scripts/Makefile*
1455 %{_kernelsrcdir}/scripts/basic
1456 %{_kernelsrcdir}/scripts/kconfig
1457 %{_kernelsrcdir}/scripts/mkcompile_h
1458 %{_kernelsrcdir}/scripts/mkmakefile
1459 %{_kernelsrcdir}/scripts/mod
1460 %{_kernelsrcdir}/scripts/module-common.lds
1461 %{_kernelsrcdir}/scripts/setlocalversion
1462 %{_kernelsrcdir}/scripts/*.c
1463 %{_kernelsrcdir}/scripts/*.sh
1464 %dir %{_kernelsrcdir}/scripts/selinux
1465 %{_kernelsrcdir}/scripts/selinux/Makefile
1466 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1467 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1468 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1469 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1470 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1471 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1472 %exclude %dir %{_kernelsrcdir}/security
1473 %exclude %dir %{_kernelsrcdir}/security/selinux
1477 %defattr(644,root,root,755)
1478 %dir %{_docdir}/%{name}-%{version}
1480 %{_docdir}/%{name}-%{version}/[!jkz]*
1481 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1482 %{_docdir}/%{name}-%{version}/kbuild
1483 %{_docdir}/%{name}-%{version}/kdump
1484 %{_docdir}/%{name}-%{version}/kvm
1485 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1486 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1487 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1491 %defattr(644,root,root,755)
1492 /lib/modules/%{kernel_release}/kernel/net/wanrouter/wanrouter.ko*
1495 %files source -f files.source_exclude_modulebuild_and_dirs
1496 %defattr(644,root,root,755)
1497 %{_kernelsrcdir}/arch/*/[!Mik]*
1498 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1499 %{_kernelsrcdir}/arch/ia64/install.sh
1500 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1501 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1502 %{_kernelsrcdir}/arch/m68k/install.sh
1503 %{_kernelsrcdir}/arch/parisc/install.sh
1504 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1505 %{_kernelsrcdir}/arch/ia64/kvm
1506 %{_kernelsrcdir}/arch/powerpc/kvm
1508 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1510 %{_kernelsrcdir}/arch/s390/kvm
1511 %{_kernelsrcdir}/arch/x86/kvm
1512 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1513 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1514 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1515 %{_kernelsrcdir}/block
1516 %{_kernelsrcdir}/crypto
1517 %{_kernelsrcdir}/drivers
1518 %{_kernelsrcdir}/firmware
1520 %if %{with grsecurity} && %{without rescuecd}
1521 %{_kernelsrcdir}/grsecurity
1523 %{_kernelsrcdir}/init
1524 %{_kernelsrcdir}/ipc
1525 %{_kernelsrcdir}/kernel
1526 %exclude %{_kernelsrcdir}/kernel/bounds.c
1527 %{_kernelsrcdir}/lib
1529 %{_kernelsrcdir}/net
1530 %{_kernelsrcdir}/virt
1531 %{_kernelsrcdir}/samples
1532 %{_kernelsrcdir}/scripts/*
1533 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1534 %exclude %{_kernelsrcdir}/scripts/Makefile*
1535 %exclude %{_kernelsrcdir}/scripts/basic
1536 %exclude %{_kernelsrcdir}/scripts/kconfig
1537 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1538 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1539 %exclude %{_kernelsrcdir}/scripts/mod
1540 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1541 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1542 %exclude %{_kernelsrcdir}/scripts/*.c
1543 %exclude %{_kernelsrcdir}/scripts/*.sh
1544 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1545 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1546 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1547 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1548 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1549 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1550 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1551 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1552 %{_kernelsrcdir}/sound
1553 %{_kernelsrcdir}/security
1554 %exclude %{_kernelsrcdir}/security/selinux/include
1555 %{_kernelsrcdir}/tools
1556 %{_kernelsrcdir}/usr
1557 %{_kernelsrcdir}/COPYING
1558 %{_kernelsrcdir}/CREDITS
1559 %{_kernelsrcdir}/MAINTAINERS
1560 %{_kernelsrcdir}/README
1561 %{_kernelsrcdir}/REPORTING-BUGS