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
35 %bcond_without imq # imq support
36 %bcond_without wrr # wrr support
37 %bcond_without esfq # esfq support
38 %bcond_without ipv6 # ipv6 support
40 %bcond_without vserver # support for VServer (enabled by default)
41 %bcond_without tuxonice # support for tuxonice (ex-suspend2) (enabled by default)
43 %bcond_with rescuecd # build kernel for our rescue
45 %bcond_with myown # build with your own config (kernel-myown.config)
47 %{?debug:%define with_verbose 1}
49 %if %{without grsecurity}
54 %define with_grsecurity 1
64 %unglobal with_tuxonice
65 %unglobal with_grsecurity
67 %unglobal with_vserver
89 %define basever 2.6.37
90 %define postver %{nil}
93 %define _enable_debug_packages 0
95 %define tuxonice_version 3.2
96 %define netfilter_snap 20070806
99 %if "%{_alt_kernel}" == ""
100 %define alt_kernel myown
103 %if %{without rescuecd}
104 %define __alt_kernel %{?with_pax:pax}%{!?with_grsecurity:nogrsecurity}%{?with_pae:pae}
105 %if "%{__alt_kernel}" != ""
106 %define alt_kernel %{__alt_kernel}
109 %define alt_kernel rescuecd
113 # kernel release (used in filesystem and eventually in uname -r)
114 # modules will be looked from /lib/modules/%{kernel_release}
115 # localversion is just that without version for "> localversion"
116 %define localversion %{rel}
117 %define kernel_release %{version}%{?alt_kernel:_%{alt_kernel}}-%{localversion}
119 Summary: The Linux kernel (the core of the Linux operating system)
120 Summary(de.UTF-8): Der Linux-Kernel (Kern des Linux-Betriebssystems)
121 Summary(et.UTF-8): Linuxi kernel (ehk operatsioonisüsteemi tuum)
122 Summary(fr.UTF-8): Le Kernel-Linux (La partie centrale du systeme)
123 Summary(pl.UTF-8): JÄ…dro Linuksa
124 Name: kernel%{_alt_kernel}
125 Version: %{basever}%{postver}
130 Source0: http://www.kernel.org/pub/linux/kernel/v2.6/linux-%{basever}.tar.bz2
131 # Source0-md5: c8ee37b4fdccdb651e0603d35350b434
132 %if "%{postver}" != "%{nil}"
133 Source1: http://www.kernel.org/pub/linux/kernel/v2.6/patch-%{version}.bz2
134 # Source1-md5: 4b01c5f9657a9587b262df5f8d784116
137 Source3: kernel-autoconf.h
138 Source4: kernel-config.h
139 Source6: kernel-config.awk
140 Source7: kernel-module-build.pl
141 Source8: kernel-track-config-change.awk
142 # not used by kernel.spec, but it's good to have it in SOURCES
143 Source9: kernel-config-sort.pl
144 Source10: kernel.make
146 Source20: kernel-multiarch.config
147 Source21: kernel-x86.config
148 Source22: kernel-sparc.config
149 Source23: kernel-alpha.config
150 Source24: kernel-powerpc.config
151 Source25: kernel-ia64.config
153 Source40: kernel-netfilter.config
154 Source41: kernel-patches.config
155 Source42: kernel-tuxonice.config
156 Source43: kernel-vserver.config
157 Source45: kernel-grsec.config
159 Source49: kernel-pax.config
160 Source50: kernel-no-pax.config
161 Source55: kernel-imq.config
162 Source56: kernel-reiser4.config
163 Source57: kernel-wrr.config
165 Source58: kernel-inittmpfs.config
166 Source59: kernel-bzip2-lzma.config
168 # http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch
169 Patch3: kernel-fbcondecor.patch
170 Patch4: kernel-fbcon-margins.patch
171 Patch5: linux-wistron-amilo8210.patch
173 # netfilter related stuff mostly based on patch-o-matic-ng
174 # snapshot 20070806 with some fixes. Some modules
175 # were ported to nf_conntrack.
177 Patch10: kernel-pom-ng-IPV4OPTSSTRIP.patch
178 Patch11: kernel-pom-ng-ipv4options.patch
180 Patch16: kernel-pom-ng-mms-conntrack-nat.patch
181 Patch22: kernel-pom-ng-rsh.patch
182 Patch23: kernel-pom-ng-rpc.patch
184 # based on http://mike.it-loops.com/rtsp/rtsp-2.6.26.patch
185 Patch36: kernel-nf_rtsp.patch
187 # http://ftp.linux-vserver.org/pub/people/dhozac/p/k/delta-owner-xid-feat02.diff
188 Patch37: kernel-owner-xid.patch
190 # based on kernel-2.6.25-layer7-2.20.patch from
191 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.20.tar.gz
192 Patch40: kernel-layer7.patch
196 # http://zph.bratcheda.org/linux-2.6.26.3-zph.patch
197 Patch49: kernel-zph.patch
199 # based on http://www.linuximq.net/patchs/linux-2.6.35-imq-multiqueue-test1.diff
200 Patch50: kernel-imq.patch
202 # http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/reiser4-for-2.6.35.patch.bz2
203 Patch51: kernel-reiser4.patch
205 # http://www.zz9.dk/patches/wrr-linux-071203-2.6.25.patch.gz
206 Patch52: kernel-wrr.patch
208 # http://fatooh.org/esfq-2.6/sfq-2.6.24.1.tar.bz2
209 Patch53: kernel-esfq.patch
211 # http://memebeam.org/free-software/toshiba_acpi/toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
212 Patch54: kernel-toshiba_acpi.patch
214 # by Baggins request:
215 # derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
216 Patch55: kernel-atm-vbr.patch
217 Patch56: kernel-atmdd.patch
219 # https://trac.pentoo.ch/pentoo/export/1600/kernel/trunk/2.6/2.6.34/4305_sqlzma.patch
220 Patch57: kernel-squashfs-lzma.patch
222 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
223 Patch59: kernel-rndis_host-wm5.patch
225 # Project suspend2 renamed to tuxonice
226 # http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2
227 Patch69: kernel-tuxonice.patch
228 Patch70: kernel-tuxonice-headers.patch
230 # adds some ids for hostap suported cards and monitor_enable from/for aircrack-ng
231 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
232 Patch85: kernel-hostap.patch
234 # http://vserver.13thfloor.at/Experimental/patch-2.6.37-vs2.3.0.37-rc3.diff
235 Patch100: kernel-vserver-2.3.patch
236 Patch101: kernel-vserver-fixes.patch
238 # Wake-On-Lan fix for nForce drivers; using http://atlas.et.tudelft.nl/verwei90/nforce2/wol.html
239 # Fix verified for that kernel version.
240 Patch130: kernel-forcedeth-WON.patch
242 # add tty ioctl to figure physical device of the console. used by showconsole.spec (blogd)
243 # raw from http://download.opensuse.org/update/11.2/rpm/src/kernel-source-2.6.31.12-0.2.1.src.rpm
244 # from patches.fixes.tar.bz2
245 # from patches.fixes/tiocgdev
246 Patch131: kernel-TIOCGDEV.patch
248 # http://download.filesystems.org/unionfs/unionfs-2.x/unionfs-2.5.7_for_2.6.36.diff.gz
249 Patch140: kernel-unionfs.patch
251 # http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git, read README
253 # git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git
254 # cd aufs2-standalone
255 # git checkout -b aufs2.1-35 origin/aufs2.1-35
256 # cat aufs2-kbuild.patch aufs2-base.patch aufs2-standalone.patch > ~/rpm/packages/kernel/kernel-aufs2.patch
258 # cp -a Documentation fs include linux
259 # diff -urN /usr/share/empty linux >> ~/rpm/packages/kernel/kernel-aufs2.patch
261 # NOTE: temporaily from http://livenet.selfip.com/ftp/debian/aufs2.1-36/ until upstream catches up with 2.6.36
263 Patch145: kernel-aufs2.patch
264 Patch146: kernel-aufs2-unionfs.patch
265 Patch147: kernel-aufs2-no-const-grsec.patch
266 Patch148: kernel-aufs2-reiser4.patch
268 # Show normal colors in menuconfig with ncurses ABI 6
269 Patch250: kernel-fix_256colors_menuconfig.patch
271 # The following patch extend the routing functionality in Linux
272 # to support static routes (defined by user), new way to use the
273 # alternative routes, the reverse path protection (rp_filter),
274 # the NAT processing to use correctly the routing when multiple
276 # http://www.ssi.bg/~ja/routes-2.6.37-16.diff
277 Patch300: kernel-routes.patch
279 Patch2000: kernel-small_fixes.patch
280 Patch2001: kernel-pwc-uncompress.patch
281 Patch2003: kernel-regressions.patch
283 # kill some thousands of warnings
284 # (only warnings, so just remove parts of this patch if conflics)
285 Patch2500: kernel-warnings.patch
287 # 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch
288 # 0002-AppArmor-compatibility-patch-for-v5-interface.patch
289 # from http://kernel.org/pub/linux/security/apparmor/apparmor-2.6.36-patches.tgz
290 Patch5000: kernel-apparmor.patch
293 # based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
294 Patch7000: kernel-inittmpfs.patch
296 # based on http://www.grsecurity.net/~spender/grsecurity-2.2.1-2.6.37-201101272240.patch
297 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
298 # (since upstream deletes older patches)
299 Patch9999: kernel-grsec_full.patch
300 Patch10000: kernel-grsec-caps.patch
301 Patch10001: kernel-grsec-common.patch
302 Patch10002: kernel-grsec_fixes.patch
304 # Do not remove this line, please. It is easier for me to uncomment two lines, then patch
305 # kernel.spec every time.
306 #Patch50000: kernel-usb_reset.patch
308 URL: http://www.kernel.org/
309 BuildRequires: binutils >= 3:2.18
310 %ifarch sparc sparc64
311 BuildRequires: elftoaout
314 BuildRequires: uboot-mkimage
316 BuildRequires: /sbin/depmod
317 BuildRequires: gcc >= 5:3.2
318 BuildRequires: xz >= 1:4.999.7
320 # for hostname command
321 BuildRequires: module-init-tools >= 3.5
322 BuildRequires: net-tools
323 BuildRequires: perl-base
324 BuildRequires: rpm-build >= 4.5-24
325 BuildRequires: rpmbuild(macros) >= 1.217
326 Requires(post): coreutils
327 Requires(post): geninitrd >= 10000-3
328 Requires(post): module-init-tools >= 0.9.9
329 Requires: /sbin/depmod
331 Requires: geninitrd >= 10000-3
332 Requires: module-init-tools >= 0.9.9
334 Provides: %{name}(netfilter) = %{netfilter_snap}
335 Provides: %{name}(vermagic) = %{kernel_release}
336 Obsoletes: kernel%{_alt_kernel}-isdn-mISDN
337 Obsoletes: kernel-firmware
338 Obsoletes: kernel-misc-acer_acpi
339 Obsoletes: kernel-misc-fuse
340 Obsoletes: kernel-misc-uvc
341 Obsoletes: kernel-modules
342 Obsoletes: kernel-net-ar81
343 Obsoletes: kernel-net-hostap
344 Obsoletes: kernel-net-ieee80211
345 Obsoletes: kernel-net-ipp2p
346 Obsoletes: kernel-net-rt61
347 Obsoletes: kernel-smp
348 Conflicts: e2fsprogs < 1.29
349 Conflicts: isdn4k-utils < 3.1pre1
350 Conflicts: jfsutils < 1.1.3
351 Conflicts: lvm2 < 2.02.40
352 Conflicts: module-init-tools < 0.9.10
353 Conflicts: nfs-utils < 1.0.5
354 Conflicts: oprofile < 0.9
355 Conflicts: ppp < 1:2.4.0
356 Conflicts: procps < 3.2.0
357 Conflicts: quota-tools < 3.09
358 %{?with_reiserfs4:Conflicts: reiser4progs < 1.0.0}
359 Conflicts: reiserfsprogs < 3.6.3
360 Conflicts: rpm < 4.4.2-0.2
361 Conflicts: udev < 1:081
362 Conflicts: util-linux < 2.10o
363 Conflicts: util-vserver < 0.30.216
364 Conflicts: xfsprogs < 2.6.0
366 ExcludeArch: i386 i486 i586
368 ExclusiveArch: %{ix86} %{x8664} alpha arm ia64 ppc ppc64 sparc sparc64
371 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
373 %ifarch %{ix86} %{x8664}
374 %define target_arch_dir x86
377 %define target_arch_dir powerpc
379 %ifarch sparc sparc64
380 %define target_arch_dir sparc
382 %ifnarch %{ix86} %{x8664} ppc ppc64 sparc sparc64
383 %define target_arch_dir %{_target_base_arch}
386 %define defconfig arch/%{target_arch_dir}/defconfig
388 # No ELF objects there to strip (skips processing 27k files)
389 %define _noautostrip \\(.*%{_kernelsrcdir}/.*\\|.*/vmlinux.*\\)
390 %define _noautochrpath .*%{_kernelsrcdir}/.*
393 %define initrd_dir /boot/efi
395 %define initrd_dir /boot
398 %define topdir %{_builddir}/%{name}-%{version}
399 %define srcdir %{topdir}/linux-%{basever}
400 %define objdir %{topdir}/%{targetobj}
401 %define targetobj %{_target_base_arch}-gcc-%(%{kgcc} -dumpversion)
403 %define _kernelsrcdir /usr/src/linux%{_alt_kernel}-%{version}
405 %if "%{_target_base_arch}" != "%{_arch}"
406 %define CrossOpts ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux-
407 %define DepMod /bin/true
409 %if "%{_arch}" == "sparc" && "%{_target_base_arch}" == "sparc64"
410 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
411 %define DepMod /sbin/depmod
414 %if "%{_arch}" == "sparc64" && "%{_target_base_arch}" == "sparc"
415 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
416 %define DepMod /sbin/depmod
419 %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"
420 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
421 %define DepMod /sbin/depmod
424 %if "%{_target_base_arch}" == "ppc" || "%{_target_base_arch}" == "ppc64"
425 %define CrossOpts ARCH=powerpc CROSS_COMPILE=%{_target_cpu}-pld-linux-
429 %define CrossOpts ARCH=powerpc CC="%{__cc}"
431 %define CrossOpts ARCH=%{_target_base_arch} CC="%{__cc}"
433 %define DepMod /sbin/depmod
435 %define MakeOpts %{CrossOpts} HOSTCC="%{__cc}"
437 %define __features Netfilter module dated: %{netfilter_snap}\
438 %{?with_grsecurity:Grsecurity support - enabled}\
439 %{?with_pax:PaX support - enabled}\
440 %{?with_fbcondecor:Fbsplash/fbcondecor - enabled }\
441 %{?with_nfsroot:Root on NFS - enabled}\
443 %define Features %(echo "%{__features}" | sed '/^$/d')
446 This package contains the Linux kernel that is used to boot and run
447 your system. It contains few device drivers for specific hardware.
448 Most hardware is instead supported by modules loaded after booting.
452 %description -l de.UTF-8
453 Das Kernel-Paket enthält den Linux-Kernel (vmlinuz), den Kern des
454 Linux-Betriebssystems. Der Kernel ist für grundliegende
455 Systemfunktionen verantwortlich: Speicherreservierung,
456 Prozeß-Management, Geräte Ein- und Ausgaben, usw.
460 %description -l fr.UTF-8
461 Le package kernel contient le kernel linux (vmlinuz), la partie
462 centrale d'un système d'exploitation Linux. Le noyau traite les
463 fonctions basiques d'un système d'exploitation: allocation mémoire,
464 allocation de process, entrée/sortie de peripheriques, etc.
468 %description -l pl.UTF-8
469 Pakiet zawiera jądro Linuksa niezbędne do prawidłowego działania
470 Twojego komputera. Zawiera w sobie sterowniki do sprzętu znajdującego
471 się w komputerze, takiego jak sterowniki dysków itp.
476 Summary: vmlinux - uncompressed kernel image
477 Summary(de.UTF-8): vmlinux - dekompressiertes Kernel Bild
478 Summary(pl.UTF-8): vmlinux - rozpakowany obraz jÄ…dra
480 Obsoletes: kernel-smp-vmlinux
483 vmlinux - uncompressed kernel image.
485 %description vmlinux -l de.UTF-8
486 vmlinux - dekompressiertes Kernel Bild.
488 %description vmlinux -l pl.UTF-8
489 vmlinux - rozpakowany obraz jÄ…dra.
492 Summary: DRM kernel modules
493 Summary(de.UTF-8): DRM Kernel Treiber
494 Summary(pl.UTF-8): Sterowniki DRM
496 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
497 Requires: %{name} = %{epoch}:%{version}-%{release}
498 Obsoletes: kernel-smp-drm
504 %description drm -l de.UTF-8
507 %description drm -l pl.UTF-8
511 Summary: PCMCIA modules
512 Summary(de.UTF-8): PCMCIA Module
513 Summary(pl.UTF-8): Moduły PCMCIA
515 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
516 Requires: %{name} = %{epoch}:%{version}-%{release}
517 Obsoletes: kernel-smp-pcmcia
518 Conflicts: pcmcia-cs < 3.1.21
519 Conflicts: pcmciautils < 004
525 %description pcmcia -l de.UTF-8
528 %description pcmcia -l pl.UTF-8
532 Summary: ALSA kernel modules
533 Summary(de.UTF-8): ALSA Kernel Module
534 Summary(pl.UTF-8): Sterowniki dźwięku ALSA
536 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
537 Requires: %{name} = %{epoch}:%{version}-%{release}
538 Obsoletes: kernel-smp-sound-alsa
541 %description sound-alsa
542 ALSA (Advanced Linux Sound Architecture) sound drivers.
544 %description sound-alsa -l de.UTF-8
545 ALSA (Advanced Linux Sound Architecture) Sound-Treiber.
547 %description sound-alsa -l pl.UTF-8
548 Sterowniki dźwięku ALSA (Advanced Linux Sound Architecture).
551 Summary: OSS kernel modules
552 Summary(de.UTF-8): OSS Kernel Module
553 Summary(pl.UTF-8): Sterowniki dźwięku OSS
555 Requires(postun): %{name} = %{epoch}:%{version}-%{release}
556 Requires: %{name} = %{epoch}:%{version}-%{release}
557 Obsoletes: kernel-smp-sound-oss
560 %description sound-oss
561 OSS (Open Sound System) drivers.
563 %description sound-oss -l de.UTF-8
564 OSS (Open Sound System) Treiber.
566 %description sound-oss -l pl.UTF-8
567 Sterowniki dźwięku OSS (Open Sound System).
570 Summary: Header files for the Linux kernel
571 Summary(de.UTF-8): Header Dateien für den Linux-Kernel
572 Summary(pl.UTF-8): Pliki nagłówkowe jądra Linuksa
573 Group: Development/Building
574 Provides: %{name}-headers(netfilter) = %{netfilter_snap}
578 These are the C header files for the Linux kernel, which define
579 structures and constants that are needed when rebuilding the kernel or
580 building kernel modules.
582 %description headers -l de.UTF-8
583 Dies sind die C Header Dateien für den Linux-Kernel, die definierte
584 Strukturen und Konstante beinhalten, die beim rekompilieren des
585 Kernels oder bei Kernel Modul kompilationen gebraucht werden.
587 %description headers -l pl.UTF-8
588 Pakiet zawiera pliki nagłówkowe jądra, niezbędne do rekompilacji jądra
589 oraz budowania modułów jądra.
591 %package module-build
592 Summary: Development files for building kernel modules
593 Summary(de.UTF-8): Development Dateien die beim Kernel Modul kompilationen gebraucht werden
594 Summary(pl.UTF-8): Pliki służące do budowania modułów jądra
595 Group: Development/Building
596 Requires: %{name}-headers = %{epoch}:%{version}-%{release}
597 Conflicts: rpmbuild(macros) < 1.550
600 %description module-build
601 Development files from kernel source tree needed to build Linux kernel
602 modules from external packages.
604 %description module-build -l de.UTF-8
605 Development Dateien des Linux-Kernels die beim kompilieren externer
606 Kernel Module gebraucht werden.
608 %description module-build -l pl.UTF-8
609 Pliki ze drzewa źródeł jądra potrzebne do budowania modułów jądra
610 Linuksa z zewnętrznych pakietów.
613 Summary: Kernel source tree
614 Summary(de.UTF-8): Der Kernel Quelltext
615 Summary(pl.UTF-8): Kod źródłowy jądra Linuksa
616 Group: Development/Building
617 Requires: %{name}-module-build = %{epoch}:%{version}-%{release}
621 This is the source code for the Linux kernel. You can build a custom
622 kernel that is better tuned to your particular hardware.
624 %description source -l de.UTF-8
625 Das Kernel-Source-Paket enthält den source code (C/Assembler-Code) des
626 Linux-Kernels. Die Source-Dateien werden gebraucht, um viele
627 C-Programme zu kompilieren, da sie auf Konstanten zurückgreifen, die
628 im Kernel-Source definiert sind. Die Source-Dateien können auch
629 benutzt werden, um einen Kernel zu kompilieren, der besser auf Ihre
630 Hardware ausgerichtet ist.
632 %description source -l fr.UTF-8
633 Le package pour le kernel-source contient le code source pour le noyau
634 linux. Ces sources sont nécessaires pour compiler la plupart des
635 programmes C, car il dépend de constantes définies dans le code
636 source. Les sources peuvent être aussi utilisée pour compiler un noyau
637 personnalisé pour avoir de meilleures performances sur des matériels
640 %description source -l pl.UTF-8
641 Pakiet zawiera kod źródłowy jądra systemu.
644 Summary: Kernel documentation
645 Summary(de.UTF-8): Kernel Dokumentation
646 Summary(pl.UTF-8): Dokumentacja do jÄ…dra Linuksa
651 This is the documentation for the Linux kernel, as found in
652 /usr/src/linux/Documentation directory.
654 %description doc -l de.UTF-8
655 Dies ist die Kernel Dokumentation wie sie im 'Documentation'
656 Verzeichniss vorgefunden werden kann.
658 %description doc -l pl.UTF-8
659 Pakiet zawiera dokumentacjÄ™ do jÄ…dra Linuksa pochodzÄ…cÄ… z katalogu
660 /usr/src/linux/Documentation.
664 ln -s %{SOURCE7} kernel-module-build.pl
665 ln -s %{SOURCE10} Makefile
668 # hack against warning in pax/grsec
669 sed -i 's/-Werror//' arch/alpha/kernel/Makefile
671 %if "%{postver}" != "%{nil}"
672 %{__bzip2} -dc %{SOURCE1} | patch -p1 -s
681 %if %{with fbcondecor}
690 # kernel-pom-ng-IPV4OPTSSTRIP.patch
693 # kernel-pom-ng-ipv4options.patch
696 # kernel-pom-ng-mms-conntrack-nat.patch
699 # kernel-pom-ng-rsh.patch
702 # kernel-pom-ng-rpc.patch
705 # kernel-nf_rtsp.patch
708 # kernel-owner-xid.patch
713 # kernel-layer7.patch
746 # squashfs lzma support
749 # kernel-rndis_host-wm5.patch
752 # hostap enhancements from/for aircrack-ng
782 # grsecurity & pax stuff
785 %if %{with grsecurity}
787 # aufs2 needs to modify those pointers
789 %{?with_vserver:%patch10000 -p1}
790 %{?with_vserver:%patch10001 -p1}
791 %{?with_vserver:%patch10002 -p1}
794 # end of grsecurity & pax stuff
809 # Do not remove this, please!
812 # Fix EXTRAVERSION in main Makefile
813 sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
815 # cleanup backups after patching
816 find '(' -name '*~' -o -name '*.orig' -o -name '.gitignore' ')' -print0 | xargs -0 -r -l512 rm -f
820 cat > %{targetobj}.mk <<'EOF'
821 # generated by %{name}.spec
822 KERNELSRC := %{srcdir}
823 KERNELOUTPUT := %{objdir}
825 SRCARCH := %{target_arch_dir}
826 ARCH := %{_target_base_arch}
827 Q := %{!?with_verbose:@}
828 MAKE_OPTS := %{MakeOpts}
829 DEFCONFIG := %{defconfig}
836 CONFIG_PAX_SEGMEXEC=y
837 # performance impact on CPUs without NX bit
838 CONFIG_PAX_PAGEEXEC=n
841 CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=n
847 CONFIG_PAX_NOELFRELOCS=n
850 CONFIG_PAX_EMUTRAMP=y
851 CONFIG_PAX_EMUSIGRT=y
855 %ifarch sparc sparc64 alpha
859 # Now we have to check MAC system integration. Grsecurity uses PAX_HAVE_ACL_FLAGS
860 # setting (direct acces). grsec_minimal probably have no idea about PaX so we probably
861 # could use PAX_NO_ACL_FLAGS, but for testing the hooks setting will be used
862 # PAX_HOOK_ACL_FLAGS.
864 %if %{with grsecurity}
865 # Hardening grsec options if with pax
866 CONFIG_GRKERNSEC_PROC_MEMMAP=y
867 # almost rational (see HIDESYM help)
868 CONFIG_GRKERNSEC_HIDESYM=y
870 # no change needed CONFIG=PAX_HAVE_ACL_FLAGS=y is taken from the kernel-pax.config
872 CONFIG_PAX_HAVE_ACL_FLAGS=n
873 CONFIG_PAX_HOOK_ACL_FLAGS=y
883 # CONFIG_SOUND is not set
884 # CONFIG_AUDIT is not set
885 # CONFIG_TR is not set
886 # CONFIG_BT is not set
887 # CONFIG_VIDEO_DEV is not set
888 # CONFIG_DVB_CORE is not set
889 # CONFIG_HAMRADIO is not set
890 # CONFIG_ARCNET is not set
891 # CONFIG_FB is not set
892 # CONFIG_DRM is not set
893 # CONFIG_WATCHDOG is not set
894 # CONFIG_INPUT_JOYSTICK is not set
895 # CONFIG_DEBUG_KERNEL is not set
896 # CONFIG_ISDN is not set
897 # CONFIG_AGP is not set
898 # CONFIG_SECURITY is not set
899 # CONFIG_PARIDE is not set
900 # CONFIG_CPU_FREQ is not set
901 # CONFIG_GAMEPORT is not set
902 # CONFIG_KVM is not set
903 # CONFIG_PHONE is not set
904 # CONFIG_STRICT_DEVMEM is not set
905 # CONFIG_IMA is not set
908 CONFIG_AUFS_BR_RAMFS=y
910 CONFIG_BLK_DEV_LOOP=y
923 Config="kernel-%{target_arch_dir}.config"
924 echo >&2 "Building config file for %{_target_cpu} using $Config et al."
926 # prepare local and important options
927 cat <<-EOCONFIG > important.config
928 LOCALVERSION="-%{localversion}"
932 CONFIG_DEBUG_SLAB_LEAK=y
933 CONFIG_DEBUG_PREEMPT=y
934 CONFIG_RT_DEADLOCK_DETECT=y
941 %ifarch i686 athlon pentium3 pentium4
950 %if %{without pcmcia}
954 %if %{with fbcondecor}
958 CONFIG_FB_TILEBLITTING=n
959 CONFIG_FB_CON_DECOR=y
967 # Temporary disabled RELOCATABLE. Needed only on x86??
968 %if %{with pax} || %{with grsecurity}
974 RescueConfig rescue.config
980 # prepare kernel-style config file from multiple config files
981 %{__awk} -v arch="all %{target_arch_dir} %{_target_base_arch} %{_target_cpu}" -f %{SOURCE6} \
983 $RPM_SOURCE_DIR/kernel-%{alt_kernel}.config \
997 %if %{with grsecurity}
1015 %if %{with tuxonice}
1016 %ifarch %{ix86} %{x8664} ia64 ppc ppc64
1020 %{SOURCE40} %{?0:netfilter} \
1021 %{SOURCE41} %{?0:patches} \
1023 $RPM_SOURCE_DIR/$Config
1027 install -d arch/%{target_arch_dir}
1028 BuildConfig > %{defconfig}
1029 ln -sf %{defconfig} .config
1033 TARGETOBJ=%{targetobj} \
1034 %{?with_verbose:V=1} \
1037 %{__awk} %{?debug:-v dieOnError=1} -v infile=%{objdir}/%{defconfig} -f %{SOURCE8} %{objdir}/.config
1041 TARGETOBJ=%{targetobj} \
1042 %{?with_verbose:V=1} \
1046 rm -rf $RPM_BUILD_ROOT
1047 %{__make} %{MakeOpts} -j1 %{!?with_verbose:-s} modules_install firmware_install \
1049 %{?with_verbose:V=1} \
1051 INSTALL_MOD_PATH=$RPM_BUILD_ROOT \
1052 INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{kernel_release} \
1053 KERNELRELEASE=%{kernel_release}
1055 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/misc
1057 # create directories which may be missing, to simplyfy %files
1058 install -d $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/kernel/{arch,sound,mm}
1060 # rpm obeys filelinkto checks for ghosted symlinks, convert to files
1061 rm -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1062 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/{build,source}
1064 # no point embed content for %ghost files. empty them
1069 {pci,usb,ccw,isapnp,input,ieee1394,serio,of}map \
1071 test -f $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1072 > $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.$a
1076 install -d $RPM_BUILD_ROOT/boot
1077 cp -a %{objdir}/System.map $RPM_BUILD_ROOT/boot/System.map-%{kernel_release}
1078 %ifarch %{ix86} %{x8664}
1079 cp -a %{objdir}/arch/%{target_arch_dir}/boot/bzImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1080 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1083 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1084 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinux-%{kernel_release}
1087 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1088 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/efi/vmlinuz-%{kernel_release}
1089 ln -sf efi/vmlinuz-%{kernel_release} $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1091 %ifarch alpha sparc sparc64
1092 %{__gzip} -cfv %{objdir}/vmlinux > %{objdir}/vmlinuz
1093 cp -a %{objdir}/vmlinuz $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1094 install -p %{objdir}/vmlinux $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1096 elftoaout %{objdir}/arch/sparc/boot/image -o %{objdir}/vmlinux.aout
1097 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1100 elftoaout %{objdir}/arch/sparc64/boot/image -o %{objdir}/vmlinux.aout
1101 install -p %{objdir}/vmlinux.aout $RPM_BUILD_ROOT/boot/vmlinux.aout-%{kernel_release}
1105 install -p %{objdir}/arch/arm/boot/zImage $RPM_BUILD_ROOT/boot/vmlinuz-%{kernel_release}
1109 touch $RPM_BUILD_ROOT%{initrd_dir}/initrd-%{kernel_release}.gz
1111 %if "%{_target_base_arch}" != "%{_arch}"
1112 touch $RPM_BUILD_ROOT/lib/modules/%{kernel_release}/modules.dep
1116 install -d $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{kernel_release}
1119 install -d $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1120 # test if we can hardlink -- %{_builddir} and $RPM_BUILD_ROOT on same partition
1121 if cp -al %{srcdir}/COPYING $RPM_BUILD_ROOT/COPYING 2>/dev/null; then
1123 rm -f $RPM_BUILD_ROOT/COPYING
1126 cp -a$l %{srcdir}/* $RPM_BUILD_ROOT%{_kernelsrcdir}
1127 cp -a %{objdir}/Module.symvers $RPM_BUILD_ROOT%{_kernelsrcdir}/Module.symvers-dist
1128 cp -aL %{objdir}/.config $RPM_BUILD_ROOT%{_kernelsrcdir}/config-dist
1129 cp -a %{objdir}/include/generated/autoconf.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf-dist.h
1130 cp -a %{objdir}/include/generated/utsrelease.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated
1131 cp -a %{objdir}/include/linux/version.h $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux
1132 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/generated/autoconf.h
1133 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_kernelsrcdir}/include/linux/config.h
1135 # collect module-build files and directories
1136 # Usage: kernel-module-build.pl $rpmdir $fileoutdir
1138 cd $RPM_BUILD_ROOT%{_kernelsrcdir}
1139 %{__perl} %{topdir}/kernel-module-build.pl %{_kernelsrcdir} $fileoutdir
1142 # move to %{_docdir} so we wouldn't depend on any kernel package for dirs
1143 install -d $RPM_BUILD_ROOT%{_docdir}
1144 mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
1146 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
1147 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
1148 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/Makefile
1149 rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
1152 rm -rf $RPM_BUILD_ROOT
1155 if [ -x /sbin/new-kernel-pkg ]; then
1156 /sbin/new-kernel-pkg --remove %{kernel_release}
1161 mv -f /boot/efi/vmlinuz{,.old} 2> /dev/null
1162 %{?alt_kernel:mv -f /boot/efi/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1163 ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz
1164 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/efi/vmlinuz%{_alt_kernel}}
1166 mv -f /boot/vmlinuz{,.old} 2> /dev/null
1167 %{?alt_kernel:mv -f /boot/vmlinuz%{_alt_kernel}{,.old} 2> /dev/null}
1168 mv -f /boot/System.map{,.old} 2> /dev/null
1169 %{?alt_kernel:mv -f /boot/System%{_alt_kernel}.map{,.old} 2> /dev/null}
1170 ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz
1171 %{?alt_kernel:ln -sf vmlinuz-%{kernel_release} /boot/vmlinuz%{_alt_kernel}}
1172 ln -sf System.map-%{kernel_release} /boot/System.map
1173 %{?alt_kernel:ln -sf System.map-%{kernel_release} /boot/System.map%{_alt_kernel}}
1175 %depmod %{kernel_release}
1178 # generate initrd after all dependant modules are installed
1179 /sbin/geninitrd -f --initrdfs=rom %{initrd_dir}/initrd-%{kernel_release}.gz %{kernel_release}
1180 mv -f %{initrd_dir}/initrd{,.old} 2> /dev/null
1181 %{?alt_kernel:mv -f %{initrd_dir}/initrd%{_alt_kernel}{,.old} 2> /dev/null}
1182 ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd
1183 %{?alt_kernel:ln -sf initrd-%{kernel_release}.gz %{initrd_dir}/initrd%{_alt_kernel}}
1185 # update boot loaders when old package files are gone from filesystem
1186 if [ -x /sbin/update-grub -a -f /etc/sysconfig/grub ]; then
1187 if [ "$(. /etc/sysconfig/grub; echo ${UPDATE_GRUB:-no})" = "yes" ]; then
1188 /sbin/update-grub >/dev/null
1191 if [ -x /sbin/new-kernel-pkg ]; then
1192 /sbin/new-kernel-pkg --initrdfile=%{initrd_dir}/initrd-%{kernel_release}.gz --install %{kernel_release} --banner "PLD Linux (%{pld_release})%{?alt_kernel: / %{alt_kernel}}"
1194 if [ -x /sbin/rc-boot ]; then
1195 /sbin/rc-boot 1>&2 || :
1199 mv -f /boot/vmlinux{,.old} 2> /dev/null
1200 %{?alt_kernel:mv -f /boot/vmlinux-%{alt_kernel}{,.old} 2> /dev/null}
1201 ln -sf vmlinux-%{kernel_release} /boot/vmlinux
1202 %{?alt_kernel:ln -sf vmlinux-%{kernel_release} /boot/vmlinux-%{alt_kernel}}
1205 %depmod %{kernel_release}
1208 %depmod %{kernel_release}
1211 %depmod %{kernel_release}
1214 %depmod %{kernel_release}
1217 %depmod %{kernel_release}
1220 %depmod %{kernel_release}
1223 %depmod %{kernel_release}
1226 %depmod %{kernel_release}
1229 ln -snf %{basename:%{_kernelsrcdir}} %{_prefix}/src/linux%{_alt_kernel}
1232 if [ "$1" = "0" ]; then
1233 if [ -L %{_prefix}/src/linux%{_alt_kernel} ]; then
1234 if [ "$(readlink %{_prefix}/src/linux%{_alt_kernel})" = "linux%{_alt_kernel}-%{version}" ]; then
1235 rm -f %{_prefix}/src/linux%{_alt_kernel}
1240 %triggerin module-build -- %{name} = %{epoch}:%{version}-%{release}
1241 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/build
1242 ln -sfn %{_kernelsrcdir} /lib/modules/%{kernel_release}/source
1244 %triggerun module-build -- %{name} = %{epoch}:%{version}-%{release}
1245 if [ "$1" = 0 ]; then
1246 rm -f /lib/modules/%{kernel_release}/{build,source}
1250 %defattr(644,root,root,755)
1251 %ifarch sparc sparc64
1252 /boot/vmlinux.aout-%{kernel_release}
1255 /boot/efi/vmlinuz-%{kernel_release}
1257 /boot/vmlinuz-%{kernel_release}
1258 /boot/System.map-%{kernel_release}
1259 %ghost %{initrd_dir}/initrd-%{kernel_release}.gz
1260 /lib/firmware/%{kernel_release}
1262 %dir /lib/modules/%{kernel_release}
1263 %dir /lib/modules/%{kernel_release}/kernel
1264 /lib/modules/%{kernel_release}/kernel/arch
1265 /lib/modules/%{kernel_release}/kernel/crypto
1266 /lib/modules/%{kernel_release}/kernel/drivers
1268 %exclude /lib/modules/%{kernel_release}/kernel/drivers/gpu
1270 /lib/modules/%{kernel_release}/kernel/fs
1271 /lib/modules/%{kernel_release}/kernel/kernel
1272 /lib/modules/%{kernel_release}/kernel/lib
1273 /lib/modules/%{kernel_release}/kernel/net
1274 /lib/modules/%{kernel_release}/kernel/mm
1276 %dir /lib/modules/%{kernel_release}/kernel/sound
1277 /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1278 /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1280 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1281 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1282 %exclude /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1285 %dir /lib/modules/%{kernel_release}/misc
1287 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/[!p]*
1288 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pd6729.ko*
1289 %exclude /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1290 %if %{without rescuecd}
1291 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1292 %exclude /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1293 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1294 %exclude /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1295 %exclude /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1296 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1298 %exclude /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1299 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1300 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1301 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1302 %exclude /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1303 %exclude /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1304 %exclude /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1305 %exclude /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1308 /lib/modules/%{kernel_release}/kernel/sound
1311 %dir %{_sysconfdir}/modprobe.d/%{kernel_release}
1314 /lib/modules/%{kernel_release}/modules.order
1315 /lib/modules/%{kernel_release}/modules.builtin
1317 # rest modules.* are ghost (regenerated by post depmod -a invocation)
1318 %ghost /lib/modules/%{kernel_release}/modules.alias
1319 %ghost /lib/modules/%{kernel_release}/modules.alias.bin
1320 %ghost /lib/modules/%{kernel_release}/modules.ccwmap
1321 %ghost /lib/modules/%{kernel_release}/modules.dep
1322 %ghost /lib/modules/%{kernel_release}/modules.dep.bin
1323 %ghost /lib/modules/%{kernel_release}/modules.ieee1394map
1324 %ghost /lib/modules/%{kernel_release}/modules.inputmap
1325 %ghost /lib/modules/%{kernel_release}/modules.isapnpmap
1326 %ghost /lib/modules/%{kernel_release}/modules.ofmap
1327 %ghost /lib/modules/%{kernel_release}/modules.pcimap
1328 %ghost /lib/modules/%{kernel_release}/modules.seriomap
1329 %ghost /lib/modules/%{kernel_release}/modules.symbols
1330 %ghost /lib/modules/%{kernel_release}/modules.symbols.bin
1331 %ghost /lib/modules/%{kernel_release}/modules.usbmap
1333 # symlinks pointing to kernelsrcdir
1334 %ghost /lib/modules/%{kernel_release}/build
1335 %ghost /lib/modules/%{kernel_release}/source
1337 %ifarch alpha %{ix86} %{x8664} ppc ppc64 sparc sparc64
1339 %defattr(644,root,root,755)
1340 /boot/vmlinux-%{kernel_release}
1345 %defattr(644,root,root,755)
1346 /lib/modules/%{kernel_release}/kernel/drivers/gpu
1351 %defattr(644,root,root,755)
1352 /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/*ko*
1353 /lib/modules/%{kernel_release}/kernel/drivers/*/pcmcia
1354 %exclude /lib/modules/%{kernel_release}/kernel/drivers/pcmcia/pcmcia*ko*
1355 %if %{without rescuecd}
1356 /lib/modules/%{kernel_release}/kernel/drivers/bluetooth/*_cs.ko*
1357 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/avm_cs.ko*
1358 /lib/modules/%{kernel_release}/kernel/drivers/isdn/hardware/avm/b1pcmcia.ko*
1359 /lib/modules/%{kernel_release}/kernel/drivers/telephony/ixj_pcmcia.ko*
1361 /lib/modules/%{kernel_release}/kernel/drivers/ata/pata_pcmcia.ko*
1362 /lib/modules/%{kernel_release}/kernel/drivers/ide/ide-cs.ko*
1363 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/*_cs.ko*
1364 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/b43
1365 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/hostap/hostap_cs.ko*
1366 /lib/modules/%{kernel_release}/kernel/drivers/net/wireless/libertas/*_cs.ko*
1367 /lib/modules/%{kernel_release}/kernel/drivers/parport/parport_cs.ko*
1368 /lib/modules/%{kernel_release}/kernel/drivers/serial/serial_cs.ko*
1369 /lib/modules/%{kernel_release}/kernel/drivers/usb/host/sl811_cs.ko*
1374 %defattr(644,root,root,755)
1375 /lib/modules/%{kernel_release}/kernel/sound
1376 %exclude %dir /lib/modules/%{kernel_release}/kernel/sound
1377 %exclude /lib/modules/%{kernel_release}/kernel/sound/ac97_bus.ko*
1378 %exclude /lib/modules/%{kernel_release}/kernel/sound/sound*.ko*
1380 %exclude /lib/modules/%{kernel_release}/kernel/sound/oss
1383 /lib/modules/%{kernel_release}/kernel/drivers/usb/gadget/g_midi.ko*
1384 /lib/modules/%{kernel_release}/kernel/drivers/media/video/cx88/cx88-alsa.ko*
1385 /lib/modules/%{kernel_release}/kernel/drivers/media/video/em28xx/em28xx-alsa.ko*
1386 /lib/modules/%{kernel_release}/kernel/drivers/media/video/saa7134/saa7134-alsa.ko*
1391 %defattr(644,root,root,755)
1392 /lib/modules/%{kernel_release}/kernel/sound/oss
1396 %files headers -f files.headers_exclude_kbuild
1397 %defattr(644,root,root,755)
1398 %dir %{_kernelsrcdir}
1399 %{_kernelsrcdir}/include
1400 %dir %{_kernelsrcdir}/arch
1401 %dir %{_kernelsrcdir}/arch/[!K]*
1402 %{_kernelsrcdir}/arch/*/include
1403 %dir %{_kernelsrcdir}/security
1404 %dir %{_kernelsrcdir}/security/selinux
1405 %{_kernelsrcdir}/security/selinux/include
1406 %{_kernelsrcdir}/config-dist
1407 %{_kernelsrcdir}/Module.symvers-dist
1409 %files module-build -f files.mb_include_modulebuild_and_dirs
1410 %defattr(644,root,root,755)
1412 %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1414 %exclude %dir %{_kernelsrcdir}/arch/m68knommu
1415 %exclude %dir %{_kernelsrcdir}/arch/um
1416 %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1417 %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1418 %{_kernelsrcdir}/drivers/lguest/lg.h
1419 %{_kernelsrcdir}/kernel/bounds.c
1420 %dir %{_kernelsrcdir}/scripts
1421 %{_kernelsrcdir}/scripts/Kbuild.include
1422 %{_kernelsrcdir}/scripts/Makefile*
1423 %{_kernelsrcdir}/scripts/basic
1424 %{_kernelsrcdir}/scripts/kconfig
1425 %{_kernelsrcdir}/scripts/mkcompile_h
1426 %{_kernelsrcdir}/scripts/mkmakefile
1427 %{_kernelsrcdir}/scripts/mod
1428 %{_kernelsrcdir}/scripts/module-common.lds
1429 %{_kernelsrcdir}/scripts/setlocalversion
1430 %{_kernelsrcdir}/scripts/*.c
1431 %{_kernelsrcdir}/scripts/*.sh
1432 %dir %{_kernelsrcdir}/scripts/selinux
1433 %{_kernelsrcdir}/scripts/selinux/Makefile
1434 %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1435 %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1436 %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1437 %dir %{_kernelsrcdir}/scripts/selinux/mdp
1438 %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1439 %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1440 %exclude %dir %{_kernelsrcdir}/security
1441 %exclude %dir %{_kernelsrcdir}/security/selinux
1445 %defattr(644,root,root,755)
1446 %dir %{_docdir}/%{name}-%{version}
1448 %{_docdir}/%{name}-%{version}/[!jkz]*
1449 %{_docdir}/%{name}-%{version}/[jkz]*.txt
1450 %{_docdir}/%{name}-%{version}/kbuild
1451 %{_docdir}/%{name}-%{version}/kdump
1452 %{_docdir}/%{name}-%{version}/kvm
1453 %lang(ja) %{_docdir}/%{name}-%{version}/ja_JP
1454 %lang(ko) %{_docdir}/%{name}-%{version}/ko_KR
1455 %lang(zh_CN) %{_docdir}/%{name}-%{version}/zh_CN
1459 %files source -f files.source_exclude_modulebuild_and_dirs
1460 %defattr(644,root,root,755)
1461 %{_kernelsrcdir}/arch/*/[!Mik]*
1462 %{_kernelsrcdir}/arch/*/kernel/[!M]*
1463 %{_kernelsrcdir}/arch/ia64/install.sh
1464 %{_kernelsrcdir}/arch/m68k/ifpsp060/[!M]*
1465 %{_kernelsrcdir}/arch/m68k/ifpsp060/MISC
1466 %{_kernelsrcdir}/arch/m68k/install.sh
1467 %{_kernelsrcdir}/arch/parisc/install.sh
1468 %{_kernelsrcdir}/arch/x86/ia32/[!M]*
1469 %{_kernelsrcdir}/arch/ia64/kvm
1470 %{_kernelsrcdir}/arch/powerpc/kvm
1472 %exclude %{_kernelsrcdir}/arch/powerpc/lib/crtsavres.*
1474 %{_kernelsrcdir}/arch/s390/kvm
1475 %{_kernelsrcdir}/arch/x86/kvm
1476 %exclude %{_kernelsrcdir}/arch/*/kernel/asm-offsets*
1477 %exclude %{_kernelsrcdir}/arch/*/kernel/sigframe*.h
1478 %exclude %{_kernelsrcdir}/drivers/lguest/lg.h
1479 %{_kernelsrcdir}/block
1480 %{_kernelsrcdir}/crypto
1481 %{_kernelsrcdir}/drivers
1482 %{_kernelsrcdir}/firmware
1484 %if %{with grsecurity} && %{without rescuecd}
1485 %{_kernelsrcdir}/grsecurity
1487 %{_kernelsrcdir}/init
1488 %{_kernelsrcdir}/ipc
1489 %{_kernelsrcdir}/kernel
1490 %exclude %{_kernelsrcdir}/kernel/bounds.c
1491 %{_kernelsrcdir}/lib
1493 %{_kernelsrcdir}/net
1494 %{_kernelsrcdir}/virt
1495 %{_kernelsrcdir}/samples
1496 %{_kernelsrcdir}/scripts/*
1497 %exclude %{_kernelsrcdir}/scripts/Kbuild.include
1498 %exclude %{_kernelsrcdir}/scripts/Makefile*
1499 %exclude %{_kernelsrcdir}/scripts/basic
1500 %exclude %{_kernelsrcdir}/scripts/kconfig
1501 %exclude %{_kernelsrcdir}/scripts/mkcompile_h
1502 %exclude %{_kernelsrcdir}/scripts/mkmakefile
1503 %exclude %{_kernelsrcdir}/scripts/mod
1504 %exclude %{_kernelsrcdir}/scripts/module-common.lds
1505 %exclude %{_kernelsrcdir}/scripts/setlocalversion
1506 %exclude %{_kernelsrcdir}/scripts/*.c
1507 %exclude %{_kernelsrcdir}/scripts/*.sh
1508 %exclude %dir %{_kernelsrcdir}/scripts/selinux
1509 %exclude %{_kernelsrcdir}/scripts/selinux/Makefile
1510 %exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
1511 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
1512 %exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
1513 %exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
1514 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
1515 %exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
1516 %{_kernelsrcdir}/sound
1517 %{_kernelsrcdir}/security
1518 %exclude %{_kernelsrcdir}/security/selinux/include
1519 %{_kernelsrcdir}/tools
1520 %{_kernelsrcdir}/usr
1521 %{_kernelsrcdir}/COPYING
1522 %{_kernelsrcdir}/CREDITS
1523 %{_kernelsrcdir}/MAINTAINERS
1524 %{_kernelsrcdir}/README
1525 %{_kernelsrcdir}/REPORTING-BUGS